Part Number Hot Search : 
XA177 MAX8600 BD202 AP3P090N TC74LC 99776602 USTB1 IDT72V
Product Description
Full Text Search
 

To Download SPIRIT1 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  this is information on a product in full production. october 2012 doc id 022758 rev 3 1/94 94 SPIRIT1 low data rate, low power sub-1ghz transceiver datasheet ? production data features frequency bands: 150-174 mhz, 300-348 mhz, 387-470 mhz, 779-956 mhz modulation schemes: 2-fsk, gfsk, msk, gmsk, ook, and ask air data rate from 1 to 500 kbps very low power consumption (9 ma rx and 21 ma tx at +11 dbm) programmable rx digital filter from 1 khz to 800 khz programmable channel spacing (12.5 khz min.) excellent performance of receiver sensitivity (- 118 dbm), selectivity, and blocking programmable output power up to +11 dbm fast startup and frequency synthesizer settling time (6 s) frequency offset compensation integrated temperature sensor battery indicator and low battery detector rx and tx fifo buffer (96 bytes each) configurability via spi interface automatic acknowledgement, retransmission, and timeout protocol engine aes 128-bit encryption co-processor antenna diversity algorithm fully integrated ultra low power rc oscillator wake-up on internal timer and wake-up on external event flexible packet length with dynamic payload length sync word detection address check automatic crc handling fec with interleaving digital rssi output programmable carrier sense (cs) indicator automatic clear channel assessment (cca) before transmitting (for listen-before-talk systems). embedded csma/ca protocol programmable preamble quality indicator (pqi) link quality indication (lqi) whitening and de-whitening of data wireless m-bus, en 300 220, fcc cfr47 15 (15.205, 15.209, 15.231, 15.247, 15.249), and arib std t-67, t93, t-108 compliant qfn20 4x4 mm rohs package operating temperature range from -40 c to 85 c applications amr (automatic meter reading) home and building automation wsn (wireless sensors network) industrial monitoring and control wireless fire and security alarm systems point-to-point wireless link table 1. device summary order code package packing SPIRIT1qtr qfn20 tape and reel qfn20 www.st.com
contents SPIRIT1 2/94 doc id 022758 rev 3 contents 1 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 typical application diagram and pin description . . . . . . . . . . . . . . . . . 10 3.1 typical application diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5 absolute maximum ratings and thermal data . . . . . . . . . . . . . . . . . . . 13 6 characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.1 general characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.2 electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.2.1 electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.2.2 digital spi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6.2.3 rf receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2.4 rf transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6.2.5 crystal oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.2.6 sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7 operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7.1 reset sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.2 timer usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.3 low duty cycle reception mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.4 csma/ca engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 8 block description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.1 power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.2 power-on-reset (por) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.3 low battery indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.4 voltage reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.5 oscillator and rf synthesizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.6 rco: features and calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
SPIRIT1 contents doc id 022758 rev 3 3/94 8.6.1 rc oscillator calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.7 afc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.8 receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.9 transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 8.10 temperature sensors (ts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 8.11 aes encryption co-processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9 transmission and reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 9.1 pa configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 9.2 rf channel frequency settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 9.3 rx timeout management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 9.4 intermediate frequency setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 9.5 modulation scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 9.5.1 data rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 9.5.2 rx channel bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 9.6 data coding and integrity check process . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.6.1 fec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.6.2 crc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 9.6.3 data whitening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 9.6.4 data padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9.7 packet handler engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9.7.1 stack packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9.7.2 wireless m-bus packet (w m-bus, en13757-4) . . . . . . . . . . . . . . . . . . 56 9.7.3 basic packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 9.7.4 automatic packet filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 9.7.5 link layer protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 9.8 data modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 9.9 data fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 9.10 receiver quality indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 9.10.1 rssi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 9.10.2 carrier sense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.10.3 lqi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.10.4 pqi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.10.5 sqi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 9.11 antenna diversity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
contents SPIRIT1 4/94 doc id 022758 rev 3 9.12 frequency hopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 10 mcu interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 10.1 serial peripheral interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 10.2 interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 10.3 gpios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 10.4 mcu clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 11 register table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 12 package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 13 revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
SPIRIT1 list of tables doc id 022758 rev 3 5/94 list of tables table 1. device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 table 2. description of the external components of the typical application diagram . . . . . . . . . . . . 10 table 3. pinout description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 table 4. absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 table 5. thermal data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 table 6. recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 table 7. general characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 table 8. power consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 table 9. digital spi input and output (sdo, sdi, sclk, csn, and sdn) and gpio specification (gpio_1-4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 table 10. rf receiver characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 table 11. rf transmitter characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 table 12. crystal oscillator characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 table 13. ultra low power rc oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 table 14. n-fractional ? frequency synthesizer characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 table 15. analog temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 table 16. battery indicator and low battery detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 6 table 17. states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 table 18. commands list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 table 19. por parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 table 20. SPIRIT1 timers description and duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 table 21. programmability of trans-conductance at startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 table 22. cp word look-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 table 23. rc calibrated speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 table 24. pa_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 table 25. frequency threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 table 26. rx timeout stop condition configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7 table 27. if_offset settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 table 28. chflt_m and chflt_e value for channel filter bandwidth (in khz, for fclk = 24 mhz) . . 51 table 29. chflt_m and chflt_e value for channel filter bandwidth (in khz, for fclk = 26 mhz) . . 52 table 30. packet configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 table 31. spi interface timing requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 table 32. interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 table 33. digital outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 table 34. digital inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 table 35. mcu_ck_conf configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 table 36. mcu clock vs. state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 table 37. general configuration registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 table 38. radio configuration registers (analog blocks). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 table 39. radio configuration registers (digital blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8 table 40. packet/protocol configuration registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 table 41. frequently used registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 table 42. general information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 table 43. qfn20 (4 x 4 mm.) mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 table 44. document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
list of figures SPIRIT1 6/94 doc id 022758 rev 3 list of figures figure 1. SPIRIT1 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 figure 2. suggested application diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 figure 3. diagram and transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 figure 4. power-on reset timing and limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 figure 5. ldcr mode timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 figure 6. csma flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 figure 7. shaping of ask signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 figure 8. output power ramping configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 figure 9. lfsr block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 figure 10. threshold of the linear fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 figure 11. spi ?write? operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 figure 12. spi ?read? operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 figure 13. spi ?command? operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 figure 14. qfn20 (4 x 4 mm.) drawing dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
SPIRIT1 description doc id 022758 rev 3 7/94 1 description the SPIRIT1 is a very low-power rf transceiver, intended for rf wireless applications in the sub-1 ghz band. it is designed to operate both in the license-free ism and srd frequency bands at 169, 315, 433, 868, and 915 mhz, but can also be programmed to operate at other additional frequencies in the 300-348 mhz, 387-470 mhz, and 779-956 mhz bands. the air data rate is programmable from 1 to 500 kbps, and the SPIRIT1 can be used in systems with channel spacing of 12.5/25 khz, complying with the en 300 220 standard. it uses a very small number of discrete external components and integrates a configurable baseband modem, which supports data management, modulation, and demodulation. the data management handles the data in the proprietary fully programmable packet format also allows the m-bus standard compliance format (all performance classes). however, the SPIRIT1 can perform cyclic redundancy checks on the data as well as fec encoding/decoding on the packets. the SPIRIT1 provides an optional automatic acknowledgement, retransmission, and timeout protocol engine in order to reduce overall system costs by handling all the high-speed link layer operations. moreover, the SPIRIT1 supports an embedded csma/ca engine. an aes 128-bit encryption co-processor is available for secure data transfer. the SPIRIT1 fully supports antenna diversity with an integrated antenna switching control algorithm. the SPIRIT1 supports different modulation schemes: 2-fsk, gfsk, ook, ask, and msk. transmitted/received data bytes are buffered in two different three-level fifos (tx fifo and rx fifo), accessible via the spi interface for host processing.
introduction SPIRIT1 8/94 doc id 022758 rev 3 2 introduction a simplified block diagram of the SPIRIT1 is shown in figure 1 . figure 1. SPIRIT1 block diagram the receiver architecture is low-if conversion. the received rf signal is amplified by a two- stage low-noise amplifier (lna) and down-converted in quadrature (i and q) to the intermediate frequency (if). lna and if amplifiers make up the rx front-end (rxfe) and have programmable gain. at if, i/q signals are digitized by adcs. the demodulated data is then provided to an external mcu either through the 96-byte rx fifo, readable via spi, or directly using a programmable gpio pin. a 128-bit aes co-processor is available to perform (offline) data encryption/decryption to secure data transfer. the transmitter part of the SPIRIT1 is based on direct synthesis of the rf frequency. the power amplifier (pa) input is the lo generated by the rf synthesizer, while the output level can be configured between -30 dbm and +11 dbm in 0.5 db steps. the data to be transmitted can be provided by an external mcu either through the 96-byte tx fifo writable via spi, or directly using a programmable gpio pin. the SPIRIT1 supports frequency hopping, tx/rx and antenna diversity switch control, extending the link range and improving performance. the SPIRIT1 has a very efficient power management (pm) system. /1$ '(02'8/$725 3$ )5(4 6<17+   02'8/$725 5;),)2v 7;),)2v 63, 5(*,67(560$3 *3,2 ,17(5)$&( 5$',2&21752/ $7% 5&2 '$7$/,1./$<(5 'ljlwdo/'2 9&2/'2 3///'2 352* /'2 $'&/'2 /rz3rzhu 'ljlwdo/'2 7(036(16 7; 5;q 5;s 6'2 6', 6&/. &6q *3,2b *3,2b *3,2b *3,2b 95',* 9''',* 6036([w 6036([w ;,1 ;287 6'1 $'& $'& 9''6036 *1'3$ 325 $(6 /'2 9  &(175$/ %,$6 %25 udz %25 dff %/' ',*,7$/&/2&. ;2 50 287'ly /'2 6036 ',* , 2    /rrs'ly /'2 !-6
SPIRIT1 introduction doc id 022758 rev 3 9/94 an integrated switched mode power supply (smps) regulator allows operation from a battery voltage ranging from +1.8 v to +3.6 v, and with power conversion efficiency of at least 80%. a crystal must be connected between xin and xout. it is digitally configurable to operate with different crystals. as an alternative, an external clock signal can be used to feed xin for proper operation. the SPIRIT1 also has an integrated low-power rc oscillator, generating the 34.7 khz signal used as a clock for the slowest timeouts (i.e. sleeping and backoff). a standard 4-pin spi bus is used to communicate with the external mcu. four configurable general purpose i/os are available.
typical application diagram and pin description SPIRIT1 10/94 doc id 022758 rev 3 3 typical application diagram and pin description 3.1 typical application diagram figure 2. suggested application diagram table 2. description of the external components of the typical application diagram components description c0 decoupling capacitor for on-chip voltage regulator to digital part c1, c2, c3, c14, c15 rf lc filter/matching capacitors c4, c5 rf balun/matching capacitors c6, c7, c8 rf balun/matching dc blocking capacitors c9, c10 crystal loading capacitors c11, c12, c13 smps lc filter capacitor l0 rf choke inductor l1, l2, l3, l9 rf lc filter/matching inductors l4, l5, l6 rf balun/matching inductors 1.8v3.6v power supply c0 c13 1 gpio_0 sdn 15 smps ext1 14 smps ext2 13 tx 12 gnd_pa 11 2 miso 3 mosi 4 sclk 5 csn gpio_1 20 gpio_2 19 gpio_3 18 vreg 17 vbat 16 8 vbat 6 xout 7 xin 9 rfp 10 rfn digital interface SPIRIT1 die attach pad: c9 c6 xtal c11 l7 antenna (50 ) l0 l1 l2 l3 c1 c2 c3 c5 l4 c4 l5 c10 l6 c7 c8 c0 l8 c12 c13 c15 c14 l9 am0925 8 v1
SPIRIT1 typical application diagram and pin description doc id 022758 rev 3 11/94 ta b l e 2 assumes to cover all the frequency bands using only four sets of external components. l7, l8 smps lc filter inductor xtal 24, 26, 48, 52 mhz table 2. description of the external components of the typical application diagram (continued) components description
pinout SPIRIT1 12/94 doc id 022758 rev 3 4 pinout table 3. pinout description pin name i/o description 1 gpio_0 i/o see description of gpios below 2 miso o spi data output pin 3 mosi i spi data input pin 4 sclk i spi clock input pin 5 csn i spi chip select 6xouto crystal oscillator output. connect to an external 26 mhz crystal or leave floating if driving the xin pin with an external signal source 7xini crystal oscillator input. connect to an external 26 mhz crystal or to an external source. if using an external clock source with no crystal, dc coupling with a nominal 0.2 vdc level is recommended with minimum ac amplitude of 400 mvpp. the instantaneous level at input cannot exceed the 0 - 1.4 v range. 8 vbat vdd +1.8 v to +3.6 v input supply voltage 9rxpi differential rf input signal for the lna. see application diagram for a typical matching network 10 rxn i 11 gnd_pa gnd ground for pa. to be carefully decoupled from other grounds. 12 tx o rf output signal 13 smps ext2 i regulated dc-dc voltage input 14 smps ext1 o dc-dc output pin 15 sdn i shutdown input pin. 0-vdd v digital input. sdn should be = ?0? in all modes except shutdown mode. when sdn =?1? the SPIRIT1 is completely shut down and the contents of the registers are lost 16 vbat vdd +1.8 v to +3.6 v input supply voltage 17 vreg (1) vdd regulated output voltage. a 100 nf decoupling capacitor is required 18 gpio3 i/o general purpose i/o that may be configured through the spi registers to perform various functions, including: ? mcu clock output ? fifo status flags ? wake-up input ? battery level detector ? tx-rx external switch control ? antenna diversity control ? temperature sensor output 19 gpio2 i/o 20 gpio1 i/o 21 gnd gnd exposed pad ground pin 1. this pin is intended for use with the SPIRIT1 only. it cannot be used to provide supply voltage to other devices.
SPIRIT1 absolute maximum ratings and thermal data doc id 022758 rev 3 13/94 5 absolute maximum ratings and thermal data absolute maximum ratings are those values above which damage to the device may occur. functional operation under these conditions is not implied. all voltages are referred to gnd. table 4. absolute maximum ratings pin parameter value unit 8,14,16 supply voltage and smps output -0.3 to +3.6 v 17 dc voltage on vreg -0.3 to +1.4 v 1,3,4,5,15,18,19,20 dc voltage on digital input pins -0.3 to +3.6 v 2 dc voltage on digital output pins -0.3 to +3.6 v 11 dc voltage on analog pins -0.3 to +3.6 v 6,7,9,10 dc voltage on rx/xtal pins -0.3 to +1.4 v 13 dc voltage on smps ext2 pin -0.3 to +1.4 v 12 dc voltage on tx pin -0.3 to +3.6 v t stg storage temperature range -40 to +125 c v esd-hbm electrostatic discharge voltage 1.0 kv table 5. thermal data symbol parameter qfn20 unit r thj-amb thermal resistance junction-ambient 45 c/w table 6. recommended operating conditions symbol parameter min. typ. max. unit v bat operating battery supply voltage 1.8 3 3.6 v t a operating ambient temperature range -40 85 c
characteristics SPIRIT1 14/94 doc id 022758 rev 3 6 characteristics 6.1 general characteristics 6.2 electrical specifications 6.2.1 electrical characteristics characteristics measured over recommended operating conditions unless otherwise specified. typical values are referred to t a = 25 c, v bat = 3.0 v. all performance is referred to a 50 ohm antenna connector, via the reference design. table 7. general characteristics symbol parameter min. typ. max. unit freq frequency range 150 - 174 mhz 300 348 mhz 387 470 mhz 779 956 mhz dr air data rate for each modulation scheme optional manchester and 3 out of 6 encoding/decoding can be selected 2-fsk 1 - 500 kbaud gmsk (bt=1, bt=0.5) 1 500 kbaud gfsk (bt=1, bt=0.5) 1 500 kbaud msk 1 500 kbaud ook/ask 1 250 kbaud
SPIRIT1 characteristics doc id 022758 rev 3 15/94 6.2.2 digital spi table 8. power consumption symbol parameter test conditions min. typ. max. unit i bat supply current shutdown (1) 1. see table 17 . - 2.5 - na standby (1) 600 na sleep (1) 850 na ready (default mode) (1) 400 a tu n i n g (1) 4.4 ma rx (1) 9ma tx (1) +11 dbm 169 mhz tx (1) +11 dbm 315 mhz tx (1) +11 dbm 433 mhz tx (1) +11 dbm 868 mhz tx (1) -8 dbm 169 mhz tx (1) -8 dbm 315 mhz tx (1) -7 dbm 433 mhz tx (1) -7 dbm 868 mhz 21 22 19.5 21 6 6.5 7 7 ma table 9. digital spi input and output (sdo, sdi, sclk, csn, and sdn) and gpio specification (gpio_1-4) symbol parameter test condition min. typ. max. unit f clk clock frequency 10 mhz c in port i/o capacitance 1.4 pf t rise rise time 0.1*vdd to 0.9*vdd, cl=20 pf (low output current programming) 6.0 ns 0.1*vdd to 0.9*vdd, cl=20 pf (high output current programming) 2.5 t fall fall time 0.1*vdd to 0.9*vdd, cl=20 pf (low output current programming) 7.0 ns 0.1*vdd to 0.9*vdd, cl=20 pf (high output current programming) 2.5 v ih logic high level input voltage vdd/2 +0.3 v v il logic low level input voltage vdd/8 +0.3 v
characteristics SPIRIT1 16/94 doc id 022758 rev 3 6.2.3 rf receiver characteristics measured over recommended operating conditions unless otherwise specified. all typical values are referred to t a = 25 c, v bat = 3.0 v, no frequency offset in the rx signal. all performance is referred to a 50 ohm antenna connector, via the reference design. v oh high level output voltage ioh = -2.4 ma (-4.2 ma if high output current capability is programmed). (5/8)* vdd+ 0.1 v v ol low level output voltage iol = +2.4 ma (+4 ma if high output current capability is programmed). 0.5 v table 9. digital spi input and output (sdo, sdi, sclk, csn, and sdn) and gpio specification (gpio_1-4) (continued) symbol parameter test condition min. typ. max. unit table 10. rf receiver characteristics symbol parameter test condition min. typ. max. unit rl return loss 169.4-169.475 mhz, 433-435 mhz, 868-868.6 mhz, 310-320 mhz, 902-928 mhz (1) -10 db ch bw receiver channel bandwidth 1 800 khz rx sens sensitivity, 1% ber (according to w-mbus n mode specification) 169mhz 2-fsk 1.2kbps (4 khz dev. ch filter=10khz) -117 dbm 169mhz 2-gfsk (bt=0.5) 2.4kbps (2.4 khz dev. ch filter=7khz) -115 dbm 169mhz 2-fsk 38.4kbps (50 khz dev. ch filter=100 khz) -104 dbm 169mhz 2-gfsk (bt=0.5) 50kbps (25 khz dev. ch filter=100 khz) -104 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled 315mhz 2-fsk 1.2 kbps (5.2 khz dev. ch filter=58 khz) -109 dbm 315mhz msk 500 kbps (ch filter=800 khz) -88 dbm
SPIRIT1 characteristics doc id 022758 rev 3 17/94 rx sens sensitivity, 1% per (packet length = 20 bytes) fec disabled 433mhz 2-fsk 1.2 kbps (1 khz dev. ch filter=6 khz) -117 dbm 433mhz 2-gfsk (bt=1) 1.2 kbps (4.8 khz dev. ch filter=58 khz) -103 dbm 433mhz 2-gfsk (bt=1) 38.4 kbps (20 khz dev. ch filter=100 khz) -103 dbm 433mhz 2-gfsk (bt=1) 250 kbps (127 khz dev. ch filter=540 khz) -92 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled 868mhz 2-fsk 1.2 kbps (1 khz dev. ch filter=6 khz) -118 dbm 868mhz 2-gfsk (bt=1) 1.2 kbps (4.8 khz dev. ch filter=58 khz) -109 dbm 868mhz 2-gfsk (bt=1) 38.4 kbps (20 khz dev. ch filter=100 khz) -106 dbm 868mhz gfsk (bt=1) 250 kbps (127 khz dev. ch filter=540 khz) -97 dbm 868mhz msk 250 kbps (ch filter=540 khz) -95 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled 915mhz 2-fsk 1.2 kbps (4.8 khz dev. ch filter=58 khz) -107 dbm 915mhz 2-fsk 38.4 kbps (20 khz dev. ch filter =100 khz) -105 dbm 915mhz 2-fsk 250 kbps (127 khz dev. ch filter=540 khz) -98 dbm 915mhz msk 500 kbps (ch filter=800 khz) -95 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled 922mhz 2-fsk 1.2 kbps (4.8 khz dev. ch filter=58 khz) -108 dbm 922mhz 2-fsk 38.4 kbps (20 khz dev. ch filter =100 khz) -101 dbm 922mhz 2-fsk 250 kbps (127 khz dev. ch filter=540 khz) -90 dbm 922mhz msk 500 kbps (ch filter=800 khz) -86 dbm table 10. rf receiver characteristics (continued) symbol parameter test condition min. typ. max. unit
characteristics SPIRIT1 18/94 doc id 022758 rev 3 rx sens sensitivity, 1% per (packet length = 20 bytes) fec disabled (2) 433 mhz ook 1.2 kbps (ch filter=6 khz) -116 dbm 433 mhz ook 2.4 kbps (ch filter=12 khz) -113 dbm 433 mhz ook 38.4 kbps (ch filter=100 khz) -99 dbm 433 mhz ook 250 kbps (ch filter=540 khz) -87 dbm sensitivity, 1% per (packet length = 20 bytes) fec disabled (2) 868 mhz ook 1.2 kbps (ch filter=6 khz) -116 dbm 868 mhz ook 2.4 kbps (ch filter=12 khz) -113 dbm 868 mhz ook 38.4 kbps (ch filter=100 khz) -100 dbm 868 mhz ook 250 kbps (ch filter=540 khz) -90 dbm p sat saturation 1% per (packet length = 20 bytes) fec disabled 868 mhz 2-gfsk (bt=1) 38.4 kbps (20 khz dev. ch filter=100 khz) -5 dbm iip 3 input third order intercept input power -50 dbm 915 mhz -37 -31 -26 dbm c/i 1-ch (3) adjacent channel rejection, 1% per (packet length = 20 bytes) fec disabled 868 mhz desired channel 3 db above sensitivity level. 12.5 khz channel spacing, 2-fsk 1.2 kbps, (1 khz dev. ch filter=6 khz) 49 db desired channel 3 db above sensitivity level. 1100 khz channel spacing, 2-fsk 1.2 kbps, (4.8 khz dev. ch filter=58 khz) 40 db desired channel 3 db above sensitivity level. 200 khz channel spacing, 2-gfsk (bt=1) 38.4 kbps, (20 khz dev. ch filter=100 khz) 40 db desired channel 3 db above sensitivity level. 750 khz channel spacing, 2-gfsk (bt=1) 250 kbps, (127 khz dev. ch filter=540 khz) 38 db table 10. rf receiver characteristics (continued) symbol parameter test condition min. typ. max. unit
SPIRIT1 characteristics doc id 022758 rev 3 19/94 c/i 2-ch (3) alternate channel rejection, 1% per (packet length = 20 bytes) fec disabled 868 mhz desired channel 3 db above sensitivity level. 25 khz channel spacing, 2-fsk 1.2 kbps, (1 khz dev. ch filter=6 khz) 52 db desired channel 3 db above sensitivity level. 100 khz channel spacing, 2-fsk 1.2 kbps, (4.8 khz dev. ch filter=58 khz) 43 db desired channel 3 db above sensitivity level. 400 khz channel spacing, 2-gfsk (bt=1) 38.4 kbps, (20 khz dev. ch filter=100 khz) 44 db desired channel 3 db above sensitivity level. 1.5 mhz channel spacing, 2-gfsk (bt=1) 250 kbps, (127 khz dev. ch filter=540 khz) 46 db im rej (3) image rejection, 1% per (packet length = 20 bytes) 1% per (packet length = 20 bytes) fec disabled 868 mhz 2-gfsk (bt=1) 38.4 kbps (20khz dev. ch filter=100 khz), desired channel 3 db above the sensitivity limit, with iqc correction. 47 db rx blk (4) blocking at offset above the upper band edge and below the lower band edge 1% ber @ 2 mhz offset, 868 mhz 2- gfsk (bt=1) 38.4kbps, desired channel 3 db above the sensitivity limit -42 dbm @ 10 mhz offset, 868 mhz 2- gfsk (bt=1) 38.4kbps, desired channel 3 db above the sensitivity limit -40 dbm table 10. rf receiver characteristics (continued) symbol parameter test condition min. typ. max. unit
characteristics SPIRIT1 20/94 doc id 022758 rev 3 6.2.4 rf transmitter characteristics measured over recommended operating conditions unless otherwise specified. all typical values are referred to t a = 25 c, v bat = 3.0 v. all performance is referred to a 50 ohm antenna connector, via the reference design. rx spur spurious emissions (maximum values according to etsi en 300 220-1) rf = 170 mhz, f< 1 ghz -65 dbm rf = 170 mhz, 1 ghz < f < 4 ghz -69 rf = 433 mhz - 435 mhz, f< 1 ghz -63 rf = 433 mhz - 435 mhz, 1 ghz < f < 4 ghz -83 rf = 868 mhz, f< 1 ghz -70 rf = 868 mhz, 1 ghz < f < 6 ghz -60 spurious emissions (maxi- mum values according to arib std-t93) rf = 312 mhz - 315 mhz, f< 1 ghz -69 rf = 312 mhz - 315 mhz, f> 1 ghz -59 spurious emissions (maxi- mum values according to arib std-t67) rf = 426 mhz - 470 mhz -61 spurious emissions (maxi- mum values according to arib std-t108) rf = 920 mhz - 924 mhz, f< 710 mhz <-70 rf = 920 mhz - 924 mhz, 710 mhz < f < 915 mhz rf = 920 mhz - 924 mhz, 915 mhz < f < 930 mhz rf = 920 mhz - 924 mhz, 930 mhz < f < 1 ghz rf = 920 mhz - 924 mhz, f> 1 ghz -75 zin, rx differential input impedance (simulated values) max rx gain rf = 170 mhz rf = 315 mhz rf = 433 mhz rf = 868 mhz rf = 915 mhz rf = 922 mhz 200 - j36 180 - j57 170 - j70 118 - j87 113 - j87 113 - j87 1. guaranteed in an entire single sub band. reference des ign can be different for different application bands. 2. in ook modulation, indicated value represents mean power. 3. interferer is cw signal (as specified by etsi en 300 220 v1). 4. blocker is cw signal (as specified by etsi en 300 220 v1) table 10. rf receiver characteristics (continued) symbol parameter test condition min. typ. max. unit
SPIRIT1 characteristics doc id 022758 rev 3 21/94 table 11. rf transmitter characteristics symbol parameter test conditions min. typ. max. unit p max maximum output power (1) delivered to a 50 ohm single-ended load via reference design 11 dbm p min minimum output power delivered to a 50 ohm single-ended load via reference design -36 dbm p step output power step 0.5 db p spur,etsi unwanted emissions according to etsi en300 220-1(harmonic included, using reference design) rf = 170 mhz, frequencies below 1 ghz -36 dbm rf = 170 mhz, frequencies above 1 ghz < -60 dbm rf = 170 mhz, frequencies within 47-74, 87.5-108,174-230,470-862 mhz -55 dbm rf = 434 mhz, frequencies below 1 ghz -42 dbm rf = 434 mhz, frequencies above 1 ghz -46 dbm rf = 434 mhz, frequencies within 47-74, 87.5-108,174-230,470-862 mhz -61 dbm rf = 868 mhz, frequencies below 1 ghz -51 dbm rf = 868 mhz, frequencies above 1 ghz -40 dbm rf = 868 mhz, frequencies within 47-74, 87.5-108,174-230,470-862 mhz -54 dbm
characteristics SPIRIT1 22/94 doc id 022758 rev 3 p spur,fcc unwanted emissions according to fcc part 15(harmonic included, using reference design) rf = 310-320 mhz, harmonics (measured with max output power) -37 dbm rf = 310-320 mhz, 1.705 mhz SPIRIT1 characteristics doc id 022758 rev 3 23/94 p spur,arib unwanted emissions according to arib rf = 312-315 mhz, frequency below 1 ghz (@ max output power, according to arib std-t93) -41 dbm rf = 312-315 mhz, frequency above 1 ghz (@ max output power, according to arib std-t93) -48 dbm rf = 426-470 mhz (@ max output power, according to arib std-t67) <-40 dbm rf = 915-917 mhz and rf = 920-930 mhz, f< 710 mhz (@ max output power, according to arib std-t108) <-55 dbm rf = 915-917 mhz and rf = 920-930 mhz, 710 mhz characteristics SPIRIT1 24/94 doc id 022758 rev 3 6.2.5 crystal oscillator characteristics measured over recommended operating conditions unless otherwise specified. all typical values are referred to t a = 25 c, v bat = 3.0 v. frequency synthesizer characteristics are referred to 915 mhz band. p harm harmonics level rf = 170 mhz, 2 nd harmonic (max power level) -36 dbm rf = 170 mhz, 3 rd harmonic (max power level) -55 rf = 315 mhz, 2 nd harmonic (max power level) -52 dbc rf = 315 mhz, 3 rd harmonic (max power level) -52 rf = 433 mhz, 2 nd harmonic (max power level) -43 dbm rf = 433 mhz, 3 rd harmonic (max power level) -46 rf = 868 mhz, 2 nd harmonic (max power level) -40 rf = 868 mhz, 3 rd harmonic (max power level) -42 rf = 915 mhz, 2 nd harmonic (max power level) -28 dbc rf = 915 mhz, 3 rd harmonic (max power level) -42 dbm rf = 922 mhz, 2 nd harmonic (max power level) -39 rf = 922 mhz, 3 rd harmonic (max power level) -60 pa load optimum load impedance (simulated v a l u e s ) 170 mhz, using reference design 46 + j36 ohm 315 mhz, using reference design 25 + j27 ohm 433 mhz, using reference design 29 + j19 ohm 868 mhz, using reference design 34 - j7 ohm 915 mhz, using reference design 15 + j28 ohm 922 mhz, using reference design 42 - j15 ohm 1. in ask/ook modulation, indicated value represents peak power. table 11. rf transmitter characteristics (continued) symbol parameter test conditions min. typ. max. unit
SPIRIT1 characteristics doc id 022758 rev 3 25/94 table 12. crystal oscillator characteristics symbol parameter test conditions min. typ. max. unit xtal f crystal frequency range 1 range 2 24 48 26 52 mhz f tol frequency tolerance (1) 1. including initial tolerance, crystal loading, agi ng, and temperature dependence. the acceptable crystal tolerance depends on rf frequency and channel spacing/bandwidth. 40 ppm pn xtal minimum requirement on external reference phase noise mask (fxo=26 mhz), to avoid degradation on synthesizer phase/noise 100 hz -90 dbc/hz 1 khz -120 dbc/hz 10 khz -135 dbc/hz 100 khz -140 dbc/hz 1 mhz -140 dbc/hz t start startup time (2) 2. startup times are crystal dependent. the crystal oscillator transconductance can be tuned to compensate the variation of crystal oscillator series resistance. v bat =1.8 v, fxo= 52 mhz 60 120 220 s table 13. ultra low power rc oscillator symbol parameter test conditions min. typ. max. unit rc f calibrated frequency calibrated rc oscillator frequency is derived from crystal oscillator frequency. digital clock domain 26 mhz - 34.7 khz rc tol frequency accuracy after calibration 1 % table 14. n-fractional ? frequency synthesizer characteristics symbol parameter test conditions min. typ. max. unit f res frequency resolution fxo= 26 mhz high band - 33 hz pn synth rf carrier phase noise (915 mhz band) 10 khz -100 -97 -94 dbc/hz 100 khz -104 -101 -99 dbc/hz 200 khz -105 -102 -100 dbc/hz 500 khz -112 -110 -107 dbc/hz 1 mhz -120 -118 -116 dbc/hz 2 mhz -123 -121 -119 dbc/hz to time pll turn-on/hop time 60 80 s
characteristics SPIRIT1 26/94 doc id 022758 rev 3 6.2.6 sensors characteristics measured over recommended operating conditions unless otherwise specified. all typical values are referred to t a = 25 c, v bat = 3.0 v. set time pll rx/tx settling time settling time from rx to tx and from tx to rx 8.5 s cal time pll calibration time 54 s table 14. n-fractional ? frequency synthesizer characteristics (continued) symbol parameter test conditions min. typ. max. unit table 15. analog temperature sensor characteristics symbol parameter test conditions min. typ. max. unit t err error in temperature across all the temperature range - 2.5 - c t slope temperature coefficient 2.5 mv/ c v ts-out output voltage level 0.92 v t icc current consumption buffered output (low output impedance, about 400 ohm) 600 a not buffered output (high output impedance, about 100 k ) 10 a table 16. battery indicator and low battery detector (1) symbol parameter test conditions min. typ. max. unit v blt battery level thresholds 2.1 2.7 v v bot brownout threshold measured in slow battery variation (static) conditions (inaccurate) 1.535 v measured in slow battery variation (static) conditions (accurate) 1.684 v bot hyst brownout threshold hysteresis 70 mv 1. for battery powered equipment, the tx does not transmit at a wrong frequency under low battery voltage conditions. it either remains on channel or stops transmitting. the latter c an of course be realized by using a lock detect and/or by switching off the pa under control of the battery monitor. for testing reasons this cont rol is enabled/disabled by spi.
SPIRIT1 operating modes doc id 022758 rev 3 27/94 7 operating modes the SPIRIT1 is provided with a built-in main controller which controls the switching between the two main operating modes: transmit (tx) and receive (rx). in shutdown condition (the SPIRIT1 can be switched on/off with the external pin sdn, all other functions/registers/commands are available through the spi interface and gpios), no internal supply is generated (in order to have minimum battery leakage), and hence, all stored data and configurations are lost. from shutdown, the SPIRIT1 can be switched on from the sdn pin and goes into ready state, which is the default, where the reference signal from xo is available. from ready state, the SPIRIT1 can be moved to lock state to generate the high precision lo signal and/or tx or rx modes. switching from rx to tx and vice versa can happen only by passing through the lock state. this operation is normally managed by radio control with a single user command (tx or rx). at the end of the operations above, the SPIRIT1 can return to its default state (ready) and can then be put into a sleeping condition (sleep state), having very low power consumption. if no timeout is required, the SPIRIT1 can be moved from ready to standby state, which has the lowest possible current consumption while retaining fifo, status and configuration registers. to manage the transitions towards and between these operating modes, the controller works as a state- machine, whose state switching is driven by spi commands. see figure 3 for state diagram and transition time between states. figure 3. diagram and transition the SPIRIT1 radio control has three stable states (ready, standby, lock) which may be defined stable, and they are accessed by the specific commands (respectively ready, 2%!$9 34!.$"9 3,%%0 2848 ,/#+ 3(54$/7. !-6
operating modes SPIRIT1 28/94 doc id 022758 rev 3 standby, and lockrx/locktx), which can be left only if any other command is used. all other states are transient, which means that, in a typical configuration, the controller remains in those states, at most for any timeout timer duration. also the ready and lock states behave as transients when they are not directly accessed with the specific commands (for example, when lock is temporarily used before reaching the tx or rx states). note: response time shutdown to ready is ~650 s. ready state is the default state after the power-on reset event. in the steady condition, the xo is settled and usable as the time reference for rco calibration, for frequency synthesis, and as the system clock for the digital circuits. the tx and rx modes can be activated directly by the mcu using the tx and rx commands, or automatically if the state machine wakes up from sleep mode and some previous tx or rx is pending. the values are intend to a vco manual calibration. in lock state the synthesizer is in a locking condition (a) . if lock state is reached using either one of the two specific commands (locktx or lockrx), the state machine remains in lock state and waits for the next command. this feature can be used by the mcu to perform preliminary calibrations, as the mcu can read the calibration word in the rco_vco_calibr_out register and store it in a non-volatile memory, and after that it requires a further tuning cycle. when tx is activated by the tx command, the state machine goes into tx state and remains there until the current packet is fully transmitted or, in the case of direct mode tx, txfifo underflow condition is reached or the sabort command is applied. state[6:0] is a field of the register mc_state. all others values of state[6:0] are invalid. table 17. states state[6:0] state/mode digital ldo spi xtal rf synth. wake-up timer response time to (1) tx rx - shutdown off (register contents lost) off off off off na na 0x40 standby on (fifo and register contents retained) on off off off 125 s 125 s 0x36 sleep on off off on 125 s 125 s 0x03 ready (default) on on off don?t care 50 s 50 s 0x0f lock on on on don?t care na na 0x33 rx on on on don?t care 15 s na 0x5f tx on on on don?t care na 15 s 1. these values are crystal dependent. t he values are referred to 52 mhz. a. lock state is reached when one of the following events occurs first: lock detector assertion or locking timeout expiration.
SPIRIT1 operating modes doc id 022758 rev 3 29/94 after tx completion, the possible destinations are: tx, if the persistent-tx option is enabled in the protocol configuration registers protocol, if some protocol option (e.g. automatic re-transmission) is enabled ready, if tx is completed and no protocol option is in progress. similarly, when rx is activated by the rx command, the state machine goes into rx state and remains there until the packet is successfully received or the rx timeout expires. in case of direct mode rx, the rx stops when the rxfifo overflow condition is reached or the sabort command is applied. after rx completion, the possible destinations are: rx, if the persistent-rx option is enabled in the protocol configuration registers protocol, if some protocol option (e.g. automatic acknowledgement) is enabled ready, if rx is completed and the ldcr mode is not active sleep, if rx is completed and the ldcr mode is active. the sabort command can always be used in tx or rx state to break any deadlock condition and the subsequent destination depends on SPIRIT1 programming according to the description above. commands are used in the SPIRIT1 to change the operating mode, to enable/disable functions, and so on. a command is sent on the spi interface and may be followed by any other spi access without pulling csn high. the complete list of commands is reported in ta b l e 1 8 . note that the command code is the second byte to be sent on the mosi pin (the first byte must be 0x80). table 18. commands list command code command name execution state description 0x60 tx ready start to transmit 0x61 rx ready start to receive 0x62 ready standby, sleep, lock go to ready 0x63 standby ready go to standby 0x64 sleep ready go to sleep 0x65 lockrx ready go to lock state by using the rx configuration of the synthesizer 0x66 locktx ready go to lock state by using the tx configuration of the synthesizer 0x67 sabort tx, rx exit from tx or rx states and go to ready state 0x68 ldc_reload all reload the ldc timer with the value stored in the ldc_prescaler/counter registers 0x69 sequence_upda te all reload the packet sequence counter with the value stored in the protocol[2] register. 0x6a aes enc all start the encryption routine 0x6b aes key all start the procedure to compute the key for decryption 0x6c aes dec all start decryption using the current key
operating modes SPIRIT1 30/94 doc id 022758 rev 3 the commands are immediately valid after spi transfer completion (i.e. no need for any csn positive edge). 7.1 reset sequence SPIRIT1 is provided with an automatic power-on reset (por) circuit which generates an internal resetn active (low) level for a time t reset after the vdd reaches the reset release threshold voltage v rrt (provided that sdn is low), as shown below. the same reset pulse is generated after a step-down on the input pin sdn (provided that vdd>v rrt ). figure 4. power-on reset timing and limits the parameters v rrt and t reset are fixed by design. at reset, all the registers are initialized to their default values. typical and extreme values are reported in the following table. 0x6d aes keydec all compute the key and start decryption 0x70 sres all reset 0x71 flushrxfifo all clean the rx fifo 0x72 flushtxfifo all clean the tx fifo table 18. commands list (continued) command code command name execution state description table 19. por parameters symbol parameter min. typ. max. unit v rrt reset startup threshold voltage 0.5 v t reset reset pulse width 0.24 0.65 1.0 ms 6$$nominal 2%3%4. t 6 224 4 2%3%4 3 6$$ !-6
SPIRIT1 operating modes doc id 022758 rev 3 31/94 note: an sres command is also available which generates an internal reset of the SPIRIT1. 7.2 timer usage most of the timers are programmable via r/w registers. all timer registers are made up of two bytes: the first byte is a multiplier factor (prescaler); the second byte is a counter value. note: if the counter register value (prescaler register value) is 0, the related timer never stops (infinite timeout), despite the value written in the prescaler register (counter register). the available timers and their features are listed in the following table. note: for ldcr_counter and ldcr_prescaler only, the effective number of cycles counted is given by the value + 1 (e.g. counter=1 and prescaler=1 produces 2 x 2=4 counts, counter=1 and prescaler=2 produces 2 x 3=6 counts, etc.). the max period of rx timeout is related to an xo of 26 mhz. 7.3 low duty cycle reception mode the SPIRIT1 provides an operating mode, low duty cycle reception (ldcr), which is an operating mode that allows operation with very low power consumption, while at the same time keeping an efficient communication link. the ldcr mode is enabled by setting the ldcr_mode bit in the protocol registers. this mode is available for both the transmitter and receiver and it is designed to allow for at most one sequence rx+tx or tx+rx. the device provides a set of timers to efficiently handle low duty cycle reception (ldcr). when ldcr is enabled the device runs on the 34.7 khz rc oscillator keeping unused blocks off. ldcr is controlled essentially by the wake-up period (t wu ), which periodically wakes up the SPIRIT1 to perform a transmission or a reception. in reception mode, it is also relevant to set up the rx timeout in order to minimize the amount of time the SPIRIT1 waits for a packet during t wu . timer period= prescaler x conter x tclk table 20. SPIRIT1 timers description and duration no. register name description source time step max. time 1 rx_timeout_prescaler rx operation timeout xo/1210 ~46s ~3s 2 rx_timeout_counter 3 ldcr_prescaler wake-up period rco ~29s ~2s 4 ldcr_counter
operating modes SPIRIT1 32/94 doc id 022758 rev 3 when setting t wu , care should be taken when considering the analog settling time which is required before the radio becomes fully operative for transmission or reception (t idle in figure 5 ). figure 5. ldcr mode timing the t idle time can be longer than the minimum required to get analog circuits settling, and this causes power waste. in order to minimize t idle , the SPIRIT1 supports the runtime phasing of the internal wake-up timer, as follows: the value of the wake-up timer can be reloaded during runtime using the ldcr_reload command with the values written in the ldcr_reload_prescaler/counter registers. in doing so, the counting can be delayed or anticipated alternatively, the wake-up timer can be automatically reloaded at the time the sync is received. this option must be enabled on the protocol register and it is available only for ldc mode in reception. 7.4 csma/ca engine the csma/ca engine is a channel access mechanism based on the rule of sensing the channel before transmitting. this avoids the simultaneous use of the channel by different transmitters and increases the probability of correct reception of data being transmitted. csma is an optional feature that can be enabled on the basis of user needs. when csma is enabled, the device performs a clear channel assessment (cca) before transmitting any data. in SPIRIT1 implementation, cca is based on a comparison of the channel rssi with a programmable static carrier sense threshold. if the cca finds the channel busy, a backoff procedure may be activated to repeat the cca process a certain number of times, until the channel is found to be idle. each time that cca is retried, a counter (nb) is incremented by one, up to the upper limit (nb max ). when the limit is reached, an nbackoff_max interrupt request is raised towards the mcu, to notify that the channel has been repeatedly found busy and so the transmission has not been performed. while in backoff, the device stays in sleep/ready state in order to reduce power consumption. cca may optionally be persistent, i.e., rather than entering backoff when the channel is found busy, cca continues until the channel becomes idle or until the mcu stops it. the thinking behind using this option is to give the mcu the possibility of managing the cca by itself, for instance, with the allocation of a transmission timer: this timer would start when !#4)6% 3,%%0).' )$,% 4 75 4 )$,% 7ake 5p )nterrupt 39.# received )nterrupt !-6
SPIRIT1 operating modes doc id 022758 rev 3 33/94 mcu finishes sending out data to be transmitted, and would end when mcu expects that its transmission takes place, which would occur after a period of cca. the choice of making cca persistent should come from trading off transmission latency, under the direct control of the mcu, and power consumption, which would be greater due to a busy wait in reception mode. the overall csma/ca flowchart is shown in figure 6 , where t cca and t listen are two of the parameters controlling the clear channel assessment procedure. design practice recommends that these parameters average the channel energy over a certain period expressed as a multiple of the bit period (t cca ) and repeat such measurement several times covering longer periods (t listen ). the measurement is performed directly by checking the carrier sense (cs) generated by the receiver module.
operating modes SPIRIT1 34/94 doc id 022758 rev 3 figure 6. csma flowchart to avoid any wait synchronization between different channel contenders, which may cause successive failing cca operations, the backoff wait time is calculated randomly between 0 and a contention window. the backoff time bo is expressed as a multiple of backoff time 30)command 48 ." 3eedreload #3-!?/. 3$. 3(54$/7. 2%!$9 3$.internal0/2 3ettling on2eset 48settling 48mode transmitapacket persistent #3-!?0%23?/. 28mode channelbusy #3 #3timeout 4 listen expiration .o 9es 9es 2estart#arrier 3ensetimers 9es numberofretries ." ." max  3,%%0 .o (as"/wait elapsed "/rand  ." "5 ."."  #3-!mode enab led 9es #3period .o 4 cca expiration .o 9es .o 9es .o .o 9es #3-! #3-! 2%!$9 !-6
SPIRIT1 operating modes doc id 022758 rev 3 35/94 units (bu). the contention window is calculated on the basis of the binary exponential backoff (beb) technique, which doubles the size of the window at each backoff retry (stored in the nb counter): bo= rand(0,2 nb )bu the csma procedure is then controlled by the following parameters: seed_reload: enables/disables the reload of the seed used by the backoff random generator at the start of each csma procedure (at the time when the counter is reset, i.e. nb=0). if this functionality is not enabled, the seed is automatically generated and updated by the generator circuit itself. csma_on: enables/disables the csma procedure (11 th bit of the protocol[1] register); this bit is checked at each packet transmission. csma_pers_on: makes the carrier sense persistent, i.e. the channel is continuously monitored until it becomes free again, skipping the backoff waiting steps (9 th bit of the protocol[1] register); the mcu can stop the procedure with an sabort command. bu_counter_seed_msbyte/lsbyte: these bytes are used to set the seed of the pseudo-random number generator when the csma cycle starts (csma_config[3:2] registers), provided that the seed_reload bit is enabled. value 0 is not allowed, because the pseudo-random generator does not work in that case. bu_prescaler[5:0]: prescaler which is used to configure the backoff time unit (b) bu=bu_prescaler in figure 6 (field of the csma_config[1] register). cca_period[1:0]: code which programs the t cca time (expressed as a multiple of tbit samples) between two successive cs samplings (field of the csma_config[1] register), as follows: 00 64tbit 01 128tbit 10 256tbit 11 512tbit. cca_length[3:0]: configuration of t listen = [1..15] x t cca nbackoff_max[2:0]: max. number of backoff cycles. b. note that the backoff timer is clocked on the 34.7 khz clock, because, in this case, the SPIRIT1 is in sleep state, in order to reduce power consumption.
block description SPIRIT1 36/94 doc id 022758 rev 3 8 block description 8.1 power management the SPIRIT1 integrates a high efficiency step-down converter cascaded with ldos meant to supply both analog and digital parts. however, an ldo directly fed by the external battery provides a controlled voltage to the data interface block. 8.2 power-on-reset (por) the power-on-reset circuit generates a reset pulse upon power-up which is used to initialize the entire digital logic. power-on-reset senses v bat voltage. 8.3 low battery indicator the battery indicator can provide the user with an indication of the battery voltage level. there are two blocks to detect battery level: brownout with a fixed threshold as defined in table 16: battery indicator and low battery detector battery level detector with a programmable threshold as defined in table 16: battery indicator and low battery detector . both blocks can be optionally activated to provide the mcu with an early warning of impending power failure. it does not reset the system, but gives the mcu time to prepare for an orderly power-down and provides hardware protection of data stored in the program memory, by preventing write instructions being executed. the low battery indicatorr function is available in any of the SPIRIT1 operation modes. as this function requires the internal bias circuit operation, the overall current consumption in standby, sleep, and ready modes is increased by 400 a. 8.4 voltage reference this block provides the precise reference voltage needed by the internal circuit. 8.5 oscillator and rf synthesizer a crystal connected to xin and xout is used to provide a clock signal to the frequency synthesizer. the allowed clock signal frequency is either 24, 26, 48, or 52 mhz. as an alternative, an external clock signal can be used to feed xin for proper operation. in this option, xout can be left either floating or tied to ground. since the digital macro cannot be clocked at that double frequency (48 mhz or 52 mhz), a divided clock is used in this case. the digital clock divider is enabled by default and must be kept enabled if the crystal is in the (48 - 52) mhz range; if the crystal is in the (24 - 26) mhz range, then the divider must be disabled before starting any tx/rx operation. the safest procedure to disable the divider
SPIRIT1 block description doc id 022758 rev 3 37/94 without any risk of glitches in the digital clock is to switch into standby mode, hence, reset the bit-field pd_clkdiv in the xo_rco_test register, and then come back to the ready state. also the synthesizer reference signal can be divided by 2, setting the bit-field refdiv in the synth_config register. the integrated phase locked loop (pll) is capable of synthesizing the frequencies in the bands from 169.1 to 169.5, from 300 to 348 mhz, from 387 to 470 mhz, or from 779 to 956 mhz, providing the lo signal for the rx chain and the input signal for the pa in the tx chain. frequency tolerance and startup times depend on the crystal used, although some tuning of the latter parameter is possible through the gm_conf field of the ana_func_conf registers. depending on the rf frequency and channel spacing, a very high accurate crystal or tcxo can be required. the rf synthesizer implements fractional sigma delta architecture to allow fast settling and narrow channel spacing. it is fully integrated and uses a multi-band vco to cover the whole frequency range. all internal calibrations are performed automatically. the pll output frequency can be configured by programming the synt field of the synt3, synt2, synt1, and synt0 registers and bs field of the synt0 register (see section 9.5.2 ). the user must configure these registers according to the effective reference frequency in use (24 mhz, 26 mhz, 48 mhz, or 52 mhz). in the latter two cases, the user must enable the frequency divider by 2 for the digital clock, in order to run the digital macro at a lower frequency. the configuration bit for the digital clock divider is inside the xo_rco_test register (default case is divider enabled). in addition, the user can also enable a divider by 2 applied to the reference clock. the configuration bit for the reference clock divider is inside the synth_config[1] register. the user must select a 3-bit word in order to set the charge pump current according to the lo frequency variations, in order to have a constant loop bandwidth. this can be done by writing the wcp field of the synt3 register, according to the following table: table 21. programmability of trans-conductance at startup gm_conf[2:0] gm at startup [ms] 000 13.2 001 18.2 010 21.5 011 25.6 100 28.8 101 33.9 110 38.5 111 43.0
block description SPIRIT1 38/94 doc id 022758 rev 3 table 22. cp word look-up channel frequency wcp [2:0] 169.1 169.5 011 290.3 294 000 294.3 298.3 001 298.3 302.3 010 302.4 306.4 011 306.4 310.4 100 310.4 314.4 101 314.4 318.4 110 318.4 322.6 111 322.6 327.0 000 327.0 331.4 001 331.4 335.9 010 335.9 340.5 011 340.5 344.9 100 344.9 349.5 101 349.5 353.9 110 353.9 358.5 111 387.0 392.3 000 392.3 397.7 001 397.7 403.0 010 403.0 408.5 011 413.8 419.2 101 419.2 424.6 110 424.6 430.1 111 430.1 436.0 000 436.0 441.9 001 441.9 447.9 010 447.9 454.0 011 454.0 459.9 100 459.9 466.0 101 466.0 471.9 110 471.9 478.0 111 774.0 784.7 000 784.7 795.3 001
SPIRIT1 block description doc id 022758 rev 3 39/94 the SPIRIT1 is provided with an automatic and very fast calibration procedure for the frequency synthesizer. if not disabled, it is performed each time the synth is required to lock to the programmed rf channel frequency (i.e. from ready to lock/tx/rx or from rx to tx and vice versa). calibration time is 54 s. after completion, the calibration word is used automatically by the SPIRIT1 and is stored in the rco_vco_calibr_out[1:0] registers. in order to get the synthesizer locked when the calibration procedure is not enabled, the correct calibration words to be used must be previously stored in the rco_vco_calibr_in[2:0] registers using vco_calibr_tx and vco_calibr_rx fields for tx and rx modes respectively. the advantage of performing an offline calibration is that the lock/setting time is roughly 20 s (using proper vco_calibr_tx/rx register values). it recommended set the t split time at the longest value (3.47 ns) to facilitate the calibrator operation, sel_tsplit field of the register synth_config[0] (register address 0x9f) at 1. if calibration is enabled, the lock/setting time is approximately 80 s. 8.6 rco: features and calibration the SPIRIT1 contains an ultra-low power rc oscillator capable of generating 34.7 khz with both 24 mhz and 26 mhz; the rc oscillator frequency is calibrated comparing it against the digital domain clock fclk divided by 692 or 750, respectively. the configuration bit, called 24_26mhz_select in the ana_func_conf register, contains the information of the calibrator about the frequency of the crystal under operation. if the digital domain clock is 25 mhz, the setting of the configuration bit 24_26mhz_select will calibrate the low power rc oscillator according to the following table: 795.3 806.0 010 806.0 817.0 011 817.0 827.7 100 827.7 838.3 101 838.3 849.2 110 849.2 860.2 111 860.2 872.0 000 872.0 883.8 001 883.8 895.8 010 908.0 919.8 100 919.8 932.0 101 932.0 943.8 110 943.8 956.0 111 table 22. cp word look-up (continued) channel frequency wcp [2:0]
block description SPIRIT1 40/94 doc id 022758 rev 3 by default, the calibration is disabled at reset to avoid using an out-of-range reference frequency (for instance, when the xtal is 26 mhz and the digital divider is active, in fact, by default). after the internal clock divider is correctly configured, the user can enable the rco calibration in the protocol[2] register. 8.6.1 rc oscillator calibration rc oscillator calibration is enabled when bit rco_calibration is set in the protocol[2] register (by default the calibration is disabled). the calibration words found by the calibration algorithm are accessible in the rco_vco_calibr_out[1:0] registers (fields rwt_out[3:0] and rfb_out[4:0],). when the calibration is disabled, the frequency of the rc oscillator is set by a couple of configuration words, namely rwt_in[3:0] and rfb_in[4:0], in the rco_vco_calibr_in[2:0] registers (fields rwt_in[3:0] and rfb_in[4:0]). rwt_in[3:0] can range from 0 up to 13 (decimal value) affecting the raw value of the frequency, while the more accurate and fine control is up to rfb_in[4:0] (ranging from 1 up to 31). 8.7 afc the SPIRIT1 implements an automatic frequency compensation algorithm to balance tx/rx crystal frequency inaccuracies. the receiver demodulator estimates the centre of the received data and compensates the offset between nominal and receiver frequency. the tracking range of the algorithm is programmable and is a fraction of the receive channel bandwidth. frequency offset compensation is supported for 2-fsk, gfsk, and msk modulation. when the relative frequency error between transmitter and receiver is less than half the modulation bandwidth, the afc corrects the frequency error without needing extra bandwidth. when the frequency error exceeds bwmod/2, some extra bandwidth is needed to assure proper afc operation under worst-case conditions. the afc can be disabled if the tx/rx frequency misalignment is negligible with respect to the receiver bandwidth, for example, when using a tcxo. 8.8 receiver the SPIRIT1 contains a low-power low-if receiver which is able to amplify the input signal and provide it to the adc with a proper signal to noise ratio. the rf antenna signal is converted to a differential one by an external balun, which performs an impedance transformation also. the receiver gain can be programmed to accommodate the adc input table 23. rc calibrated speed digital domain clock 24_26mhz_select rc calibrated speed 24 mhz 0 34.7 khz 26 mhz 1 34.7 khz 25 mhz 0 36.1 khz 25 mhz 1 33.3 khz
SPIRIT1 block description doc id 022758 rev 3 41/94 signal within its dynamic range. after the down-conversion at if, a first order filter is implemented to attenuate the out-of-band blockers. 8.9 transmitter the SPIRIT1 contains an integrated pa capable of transmitting at output levels between -30 dbm to +11 dbm. the pa is single-ended and has a dedicated pin (txout). the pa output is ramped up and down to prevent unwanted spectral splatter. in tx mode the pa drives the signal generated by the frequency synthesizer out to the antenna terminal. the output power of the pa is programmable via spi. delivered power, as well as harmonic content, depends on the external impedance seen by the pa. to obtain approval on etsi en 300 220, it is possible to program tx to send an unmodulated carrier. the output stage is supplied from the smps through an external choke and is loaded with a lc-type network which has the function of transforming the impedance of the antenna and filter out the harmonics. the tx and rx pins are tied directly to share the antenna. during tx, the lna inputs are internally shorted to ground to allow for the external network resonance, so minimizing the power loss due to the rx. figure 7. shaping of ask signal 8.10 temperature sensors (ts) the SPIRIT1 can provide an analog temperature indication as a voltage level, which is available at the gpio_0 pin. the voltage level v0 at room temperature (or any other useful reference temperature) should be acquired and stored by the mcu in order to compensate for the offset. the relationship between temperature and voltage is the following: equation 1 where v 0 is the voltage at temperature t 0 . /utput0ower ,e vels "itsequence 4ime         0!? ,%6%,?-!8?).$%8 0! ? ,%6%,?-!8?).$%8 0!?,%6%,? 0!?,%6%,? 0!?,%6%,? 0!?,%6%,? 0!?,%6%,? 0!?,%6%,? 0!?,%6%,? 0!?,%6%,? !-6 t400v temp v 0 ? () t 0 3.75 + () + ? = c ()
block description SPIRIT1 42/94 doc id 022758 rev 3 two output modes are available: buffered or not buffered (high output impedance, about 100 k ). the latter mode is the default one. the ts function is available in every operating mode. when enabled, the internal logic allows the switching on of all the necessary circuitry. to enable the ts function, the user must perform the following operations: set to 1 the ts bit in the ana_func_conf[0] register program as ?analog? (00) the gpio_mode field in the gpio0_conf register (other fields are neglected) optionally, enable the buffered mode (the en_ts_buffer bit in the pm_config[2] register). as the ts function requires the internal bias circuit operation, the overall current consumption in standby, sleep, and ready modes is increased by 400 a. 8.11 aes encryption co-processor the SPIRIT1 provides data security support as it embeds an advanced encryption standard (aes) core which implements a cryptographic algorithm in compliance with nist fips 197. three registers are available to use the aes engine of SPIRIT1: aes_key_in [15:0]: r/w type register (128-bit), used to provide the key to use aes_data_in [15:0]: r/w type register (128-bit), used to provide the input to the aes engine aes_data_out [15:0]: r type register (128-bit), used to retrieve the output of the aes operation. the core processes 128-bit data blocks using 128-bit keys. the aes can be accessed in any of the SPIRIT1 operation modes. to turn on the aes engine, the aes_on bit in the ana_func_conf[0] register must be set. once the aes engine is on, it processes the operations according to the commands sent. the SPIRIT1 engine provides 4 different operations: 1. encryption using a given encryption key (aes enc command). in this operation, the mcu puts the encryption key into the aes_key_in[15:0] register and the data to encrypt into the aes_data_in[15:0]. the mcu sends the aes enc command and when the aes_eop (end of operation) is issued, the mcu can retrieve the data encrypted from aes_data_out[15:0] 2. decryption key derivation starting from an encryption key (aes key command). in this operation, the mcu puts the encryption key into aes_data_in[15:0]. the mcu sends the aes key command and when the aes_eop (end of operation) is issued, the mcu can retrieve the decryption key from aes_data_out[15:0] 3. data decryption using a decryption key (aes dec command). in this operation, the mcu puts the decryption key into the aes_key_in[15:0] register and the data to decrypt into aes_data_in[15:0]. the mcu sends the aes dec command and when
SPIRIT1 block description doc id 022758 rev 3 43/94 the aes_eop (end of operation) is issued, the mcu can retrieve the data decrypted from aes_data_out[15:0]. 4. data decryption using a decryption key (aes keydec command). in this operation, the mcu puts the encryption key into the aes_key_in[15:0] register and the data to decrypt into aes_data_in[15:0]. the mcu sends the aes keydec command and when the aes_eop (end of operation) is issued, the mcu can retrieve the data decrypted from aes_data_out[15:0].
transmission and reception SPIRIT1 44/94 doc id 022758 rev 3 9 transmission and reception 9.1 pa configuration the pa output power level can be configured by programming the pa_power[8:0] register bank. the user can store up to eight output levels to provide flexible pa power ramp-up and ramp-down at the start and end of a frequency modulation transmission as well as ask modulation shaping. the power levels of the ramp are controlled by 7-bit words (pa_level_x, x=0 ? 7), according to the following table: the power ramping is enabled by the pa_ramp_enable bit. if enabled, the ramp starts from the level defined by the word pa_level_0 and stops at the level defined by the word pa_level_x, where x is the value of the 3-bit field pa_level_max_index. so, a maximum of 8 steps can be set up. figure 8 describes the levels table and shows some examples. each step is held for a time interval defined by the 2-bit field pa_ramp_step_width. the step width is expressed in terms of bit period units (t b /8), maximum value is 3 (which means 4t b /8=t b /2). therefore the pa ramp may last up to 4 t b (about 3.3 ms if the bit rate is 1.2 kbit/s). table 24. pa_level pa_level_x comment p out [dbm] (170mhz) 0 no output power: output stage in high impedance mode and all circuits switched off. - 1 maximum output power 11 ? 30 0 ? 42 -6 ? 90 minimum level -34 91-127 reserved n/a
SPIRIT1 transmission and reception doc id 022758 rev 3 45/94 figure 8. output power ramping configuration the set of 8 levels is used to shape the ask signal. in this case, the modulator works as a counter that counts up when transmitting a one and down when transmitting a zero. the counter counts at a rate equal to 8 times the symbol rate (in this case, the field pa_ramp_step_width is not used). this counter value is used as an index for the lookup in the levels table in figure 8 to associate the relevant pout value. therefore, in order to utilize the whole table, pa_level_max_index should be 7 when ask is active. the real shaping of the ask signal is dependent on the configuration of the pa_level_x registers. figure 8 shows some examples of ask shaping. for ook modulation, the signal is abruptly switched between two levels only, these are pa_level_0 and pa_level_x, with x=pa_level_max index. the 2-bit cwc field in the pa_power register bank can be used to tune the internal capacitive load of the pa (up to 3.6 pf in steps of 1.2 pf) in order to optimize the performance at different frequencies. 9.2 rf channel frequency settings rf channels can be defined using the chspace and chnum registers. the channel center frequency can be programmed as: 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b0$;b,1'(; hj 7kh3$xvhvwklvvhwwlqj vwhdg\vwdwhohyho  6hwwlqjv3$b/(9(/bwr3$b/(9(/b duh xvhg gxulqj udpsxs dw vwduw ri wudqvplvvlrq dqg udpsgrzq dw hqg ri wudqvplvvlrq dqg iru $6. prgxodwlrq dovr  3$b5$03b67(3b:,'7+ 2xwsxw3rzhu /h yhov 7lph 3$b/(9(/b0$;b,1'(; 3$b5$03b67(3b:,'7+  3$b /(9(/b0$;b,1'(; 3$b5$03b67(3b:,'7+  3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 3$b/(9(/b 6wduw7; 6wrs7; !-6
transmission and reception SPIRIT1 46/94 doc id 022758 rev 3 equation 2 this allows the setting of up to 256 channels with a programmable raster. the raster granularity is about 793 hz at 26 mhz and becomes about 1587 hz at 52 mhz. the actual channel spacing is from 793 hz to 202342 hz in 793 hz steps for the 26 mhz configuration and from 1587 to 404685 hz in 1587 hz steps for the 52 mhz configuration. the base carrier frequency, i.e. the carrier frequency of channel #0, is controlled by the synt0, synt1, synt2, and synt3 registers according to the following formula: equation 3 where: f xo is the frequency of the xtal oscillator (typically 24 mhz, 26 mhz, 48 mhz, or 52 mhz) synt is a programmable 26-bit integer. equation 4 equation 5 the offset frequency is a correction term which can be set to compensate the crystal inaccuracy after e.g. lab calibration. equation 6 where: fc_offset is a 12-bit integer (expressed as 2's complement number) set by the fc_offset[1:0] registers furthermore, the selection between vcoh (?high?) and vcol (?low?) in the frequency synthesizer according to the band selected and the vco threshold is required. if the center frequency is below the frequency threshold for that frequency band, the vco_l must be selected by setting the bit 2 vco_l_sel field in the synth_config register. chnum chspace 2 f f f f 15 xo offset base c ? ? ? ? ? ? ? ? + + = ) ( = = = = = = 2 3r o fe h t w o ld n a b (9 6 1z h m, s b5) 6 1r o f e h t w o l d n a b z h m 0 0 3 ( o t , z h m 8 4 3 s b ) 4 2 1r o f e h t e l d d i m d n a b z h m 7 8 3 ( o t , z h m 0 7 4 s b ) 3 6r o f e h t h g i h d n a b m o r f ( z h m 9 7 7 o t , z h m 6 5 9 s b ) 1 b very { { d 1 if refdiv 0 (internal reference divider is disabled) 2 if refdiv 1 (internal reference divider is enabled) ? ? ? = offset _ fc 2 f f 18 xo offset ? =
SPIRIT1 transmission and reception doc id 022758 rev 3 47/94 if the center frequency is above the frequency threshold for that frequency band, vco_h must be selected by setting the bit 1 vco_ h _sel field in the synth_config register. the user must make sure that actual frequency programming is inside the specified frequency range. the accuracy of the offset is about 99 hz for the 26 mhz reference and about 198 hz for the 52 mhz reference. 9.3 rx timeout management in SPIRIT1, the rx state is specifically time monitored in order to minimize power consumption. this is done by a rx timeout approach, which aborts the reception after t rx timeout expiration. the timer used to control rx timeout is controlled by the registers rx_timeout_prescaler and rx_timeout_counter . however, to avoid the reception to be interrupted during a valid packet, a number of options to stop the timeout timer are available for the user. they are based on the received signal quality indicators (see section 9.7 for a full description of them): cs valid sqi valid pqi valid more specifically, both 'and' or 'or' boolean relationships among any of them can be configured. this is done using the selection bit rx_timeout_and_or_select in pckt_flt_options register. to choose which of the quality indicators should be taken into account in the and/or boolean relationship, the user should use the mask bits available in the protocol[2] register. the full true-table including any logical and/or among such conditions is reported in ta b l e 2 6 . table 25. frequency threshold frequency threshold for each band (mhz) (1) 1. by default, the vco_h is selected. very low band low band middle band high band 161281250 322562500 430083334 860166667 table 26. rx timeout stop condition configuration rx_timeout_ and_or_select cs_timeout_mask sqi_timeout _mask pqi_timeout_m ask description 0 0 0 0 no timeout stop 1000 timeout always stopped (default) x 1 0 0 rssi above threshold x 0 1 0 sqi above threshold x 0 0 1 pqi above threshold
transmission and reception SPIRIT1 48/94 doc id 022758 rev 3 when reception is aborted on timeout expiration, the packet is considered not valid and will be discarded. it is responsibility of the user to choose the proper boolean condition that suit its application. in particular, it is required to include always sqi valid check, to avoid to stay in rx state for unlimited time, if timeout is stopped but no valid sqi is detected (in such cases, the rx state can be left using a sabort command). it is also important to notice that, in case a packet is received, that the timeout is stopped by some of the conditions in order to get an rx data ready interrupt, otherwise SPIRIT1 will wait in rx mode for the rx timeout to expire anyway. 9.4 intermediate frequency setting the intermediate frequency (if) is controlled by the registers if_offset_ana and if_offset_dig, and can be set as: equation 7 equation 8 where f xo is the xtal oscillator frequency (24, 25, 26, 48, 50 or 52 mhz) and f clk is the digital clock frequency (24, 25 or 26 mhz). 0110 both rssi and sqi above threshold 0101 both rssi and pqi above threshold 0011 both sqi and pqi above threshold 0 1 1 1 all above threshold 1110 rssi or sqi above threshold 1101 rssi or pqi above threshold 1011 sqi or pqi above threshold 1 1 1 1 any above threshold table 26. rx timeout stop condition configuration (continued) rx_timeout_ and_or_select cs_timeout_mask sqi_timeout _mask pqi_timeout_m ask description if_offset_ana round f if f xo -------- - 32 12 64 ? ?? ?? ?? ? = if_offset_dig round f if f clk ----------- 32 12 64 ? ?? ?? ?? ? =
SPIRIT1 transmission and reception doc id 022758 rev 3 49/94 the recommended if value is about 480 khz resulting in the following register setting: 9.5 modulation scheme the following modulation formats are supported: 2-fsk, gfsk, msk, ook, and ask. the actual modulation format used is controlled by the mod_type field of the mod0 register: mod_type = ? 0 (00): 2-fsk ? 1 (01): gfsk ? 2 (10): ask/ook ? 3 (11): msk in 2-fsk and gfsk modes, the frequency deviation is controlled by the fdev register according to the following formula: equation 9 where: f xo is the xtal oscillator frequency (typically 26 mhz or 52 mhz). fdev_m is a 3-bit integer ranging from 0 to 7 fdev_e is a 4-bit integer ranging from 0 to 9. the f dev values obtainable are then: for f xo = 52 mhz table 27. if_offset settings if_offset_ana if_offset_dig f if [khz] f xo [mhz] 0xb6 0xb6 480.469 24 0xac 0xac 480.143 25 0xa3 0xa3 480.306 26 0x3b 0xb6 480.469 48 0x36 0xac 480.143 50 0x31 0xa3 480.140 52 f dev f xo floor 8 ( ( fdev_m ) + 2 fdev_e 1 ? ) ? 2 18 ---------------------------------------------------------------------------------------------- - = e/m01234567 0 793.5 793.5 991.8 991.8 1190.2 1190.2 1388.5 1388.5 1 1586.9 1785.3 1983.6 2182.0 2380.4 2578.7 2777.1 2975.5 2 3173.8 3570.6 3967.3 4364.0 4760.7 5157.5 5554.2 5950.9 3 6347.7 7141.1 7934.6 8728.0 9521.5 10314.9 11108.4 11901.9 4 12695.3 14282.2 15869.1 17456.1 19043.0 20629.9 22216.8 23803.7
transmission and reception SPIRIT1 50/94 doc id 022758 rev 3 for f xo = 26 mhz with this solution the maximum deviation for the 26 mhz case is limited to about 355 khz, but this is still acceptable since the maximum useful deviation is about 125 khz (msk @ 500 kbps). in gfsk mode the gaussian filter bt product can be set to 1 or 0.5 by the field bt_sel of the mod0 register. in msk mode, the frequency deviation is automatically set to ? of the data rate and the content of the fdev register is ignored. the calculation done inside the modem assumes that the digital clock is equal to the synthesizer reference. hence, in the 52-mhz case the msk can actually be configured by setting the frequency deviation to ? of the data rate through the fdev registers as for normal 2-fsk. the same is true for gmsk mode, which can be configured by setting the frequency deviation to ? of the data rate through the fdev registers as for normal gfsk with gaussian filter bt equal to 1 or 0.5. ook and ask if mod_type = 2 and power ramping is enabled, then ask is used; otherwise, if mod_type = 2 and power ramping is disabled, then ook is used. when ook is selected, a bit '1' is transmitted with the power specified by pa_power[pa_level_max_index], a bit '0' is transmitted with the power specified by pa_power[0](normally set to pa off). when ask is selected, a bit '1' is transmitted with a power ramp increasing from pa_power[0] to pa_power[pa_level_max_index], a bit '0' is transmitted with a 5 25390.6 28564.5 31738.3 34912.1 38085.9 41259.8 44433.6 47607.4 6 50781.3 57128.9 63476.6 69824.2 76171.9 82519.5 88867.2 95214.8 7 101562.5 114257.8 126953.1 139648.4 152343.8 165039.1 177734.4 190429.7 8 203125.0 228515.6 253906.3 279296.9 304687.5 330078.1 355468.8 380859.4 9 406250.0 457031.3 507812.5 558593.8 609375.0 660156.3 710937.5 761718.8 e/m01234567 0 396.7 396.7 495.9 495.9 595.1 595.1 694.3 694.3 1 793.5 892.6 991.8 1091.0 1190.2 1289.4 1388.5 1487.7 2 1586.9 1785.3 1983.6 2182.0 2380.4 2578.7 2777.1 2975.5 3 3173.8 3570.6 3967.3 4364.0 4760.7 5157.5 5554.2 5950.9 4 6347.7 7141.1 7934.6 8728.0 9521.5 10314.9 11108.4 11901.9 5 12695.3 14282.2 15869.1 17456.1 19043.0 20629.9 22216.8 23803.7 6 25390.6 28564.5 31738.3 34912.1 38085.9 41259.8 44433.6 47607.4 7 50781.3 57128.9 63476.6 69824.2 76171.9 82519.5 88867.2 95214.8 8 101562.5 114257.8 126953.1 139648.4 152343.8 165039.1 177734.4 190429.7 9 203125.0 228515.6 253906.3 279296.9 304687.5 330078.1 355468.8 380859.4
SPIRIT1 transmission and reception doc id 022758 rev 3 51/94 power ramp decreasing from pa_power[pa_level_max_index] to pa_power[0]. the duration of each power step is 1/8 of the symbol time. if more '1's are transmitted consecutively, the pa power remains at pa_power[pa_level_max_index] for all '1's following the first one; if more '0's are transmitted consecutively, the pa power remains at pa_power[0] for all '0's following the first one. cw mode for test and measurement purposes the device can be programmed to generate a continuous wave carrier without any modulation by setting the cw field of the mod0 register. be sure to use infinite timeout in rx mode to avoid the SPIRIT1 going back to ready mode. 9.5.1 data rate the data rate is controlled by the mod0 and mod1 registers according to the following formula: equation 10 where: datarate_m is an 8-bit integer ranging from 0 to 255 datarate_e is a 4-bit integer ranging from 0 to 15 f clk is the digital clock frequency (typically 26 mhz). the minimum data rate at f clk = 26 mhz is about 25 hz; the maximum data rate is about 1.6 mhz. be advised that performance for such values is not guaranteed. 9.5.2 rx channel bandwidth the bandwidth of the channel filter is controlled by the chflt_m and chflt_e fields of the chflt register according to tables below. the actual filter bandwidth for any digital clock frequency can be obtained by multiplying the values in the tables below by the factor f clk /26000000. datarate f clk 256 data_rate_m + () 2 datarate_e ? 2 28 --------------------------------------------------------------------------------------------------------- - ? = table 28. chflt_m and chflt_e value for channel filter bandwidth (in khz, for f clk = 24 mhz) e=0 e=1 e=2 e=3 e=4 e=5 e=6 e=7 e=8 e=9 m=0 738.6 416.2 207.4 103.7 51.8 25.8 12.9 6.5 3.2 1.7 m=1 733.9 393.1 196.1 98.0 48.9 24.5 12.3 6.1 3.0 1.6 m=2 709.3 372.2 185.6 92.8 46.3 23.2 11.6 5.8 2.9 1.5 m=3 680.1 351.5 175.4 87.7 43.8 21.9 11.0 5.4 2.8 1.4 m=4 650.9 334.2 166.8 83.4 41.6 20.9 10.4 5.2 2.6 1.3 m=5 619.3 315.4 157.5 78.7 39.3 19.7 9.8 4.9 2.5 1.2
transmission and reception SPIRIT1 52/94 doc id 022758 rev 3 although the maximum tx signal bw should not exceed 750 khz, the bandwidth of the channel select filter in the receiver may need some extra bandwidth to cope with tolerances in transmit and receive frequencies which depend on the tolerances of the used crystals. 9.6 data coding and integrity check process 9.6.1 fec the device provides hardware support for error correction and detection. error correction can be either enabled or disabled according to link reliability and power consumption needs. convolutional coding with a rate=? and k=4 is applied on the payload and crc before transmission (poly [13,17]). on the receiver side, error correction is performed using soft viterbi decoding. to further improve error correction performance, a data interleaver is used when convolutional coding is enabled. data interleaving/de-interleaving is performed using a 4x4- bit matrix interleaver. to fill the entire matrix, at least 2 bytes of data payload are required (16 cells). in the interleaver matrix, the encoded data bits are written along the rows and the sequence to send to the modulator is obtained by reading the matrix elements along the columns of the matrix. consequently, in the de-interleaver, the received data from the demodulator are written into the matrix along the columns, and sent to the fec decoder reading them from m=6 592.9 300.4 149.9 75.0 37.5 18.7 9.3 4.7 2.3 1.2 m=7 541.6 271.8 135.8 67.8 33.9 17.0 8.5 4.2 2.1 1.1 m=8 499.8 249.5 124.6 62.3 31.1 15.6 7.8 3.9 1.9 1.0 table 28. chflt_m and chflt_e value for channel filter bandwidth (in khz, for f clk = 24 mhz) table 29. chflt_m and chflt_e value for channel filter bandwidth (in khz, for f clk = 26 mhz) e=0 e=1 e=2 e=3 e=4 e=5 e=6 e=7 e=8 e=9 m=0 800.1 450.9 224.7 112.3 56.1 28.0 14.0 7.0 3.5 1.8 m=1 795.1 425.9 212.4 106.2 53.0 26.5 13.3 6.6 3.3 1.7 m=2 768.4 403.2 201.1 100.5 50.2 25.1 12.6 6.3 3.1 1.6 m=3 736.8 380.8 190.0 95.0 47.4 23.7 11.9 5.9 3.0 1.5 m=4 705.1 362.1 180.7 90.3 45.1 22.6 11.3 5.6 2.8 1.4 m=5 670.9 341.7 170.6 85.3 42.6 21.3 10.6 5.3 2.7 1.3 m=6 642.3 325.4 162.4 81.2 40.6 20.3 10.1 5.1 2.5 1.3 m=7 586.7 294.5 147.1 73.5 36.7 18.4 9.2 4.6 2.3 1.2 m=8 541.4 270.3 135.0 67.5 33.7 16.9 8.4 4.2 2.1 1.1
SPIRIT1 transmission and reception doc id 022758 rev 3 53/94 the rows of the de-interleaving matrix. due to the size of the matrix, the overall data transmitted must be an exact integer multiple of two, to fill the rows and columns of the matrix. if necessary, the framer is able to add automatically extra bytes at the end of the packet, so the number of bytes is an number. fec and interleaving are enabled/disabled together. to enable fec/interl, the field fec_en of pcktctrl1 must be set to ?1?. when fec/interl is enabled, the number of transmitted bits is roughly doubled, hence the on-air packet duration in time is roughly doubled as well. the data rate specified in section 9.5.1 always applies to the on-air transmitted data. a termination byte is automatically appended to set the encoder to the 0-state at the end of the packet. 9.6.2 crc error detection is implemented by means of cyclic redundancy check codes. the length of the checksum is programmable to 8, 16, or 24 bits. the crc can be added at the end of the packet by the field crc_mode of the register pckctrl1. the following standard crc polynomials can be selected: crc mode = 1, 8 bits: the poly is (0x07) x 8 +x 2 +x+1 crc mode = 2, 16 bits: the poly is (0x8005) x 16 +x 15 +x 2 +1 crc mode = 3, 16 bits: the poly is (0x1021) x 16 +x 12 +x 5 +1 crc mode = 4, 24 bits: the poly is (0x864cfb) x 24 +x 23 +x 18 +x 17 +x 14 +x 11 +x 10 +x 7 +x 6 +x 5 +x 4 +x 3 +x+1 crc is calculated over all fields excluding preamble and synchronization word. 9.6.3 data whitening to prevent short repeating sequences (e.g., runs of 0's or 1's) that create spectral lines, which may complicate symbol tracking at the receiver or interferer with other transmissions, the device implements a data whitening feature. data whitening can optionally be enabled by setting the filed whit_en of the pcktctrl1 register to '1'. data whitening is implemented by a maximum length lfsr generating a pseudo-random binary sequence used to xor data before entering the encoding chain. the length of the lsfr is set to 9 bits. the pseudo-random sequence is initialized to all 1's. data whitening, if enabled, is applied on all fields excluding the preamble and the synchronization words. at the receiver end, the data are xor-ed with the same pseudo-random sequence. whitening is applied according to the following lfsr implementation:
transmission and reception SPIRIT1 54/94 doc id 022758 rev 3 figure 9. lfsr block diagram it is recommended to always enable data whitening. 9.6.4 data padding if fec is enabled then the total length of payload and crc must be an even number (in order to completely fill up the interleaver). if not, a proper filling byte is automatically inserted in transmission and removed by the receiver. the total packet length is affected, and it is configured automatically enabling the fec. 9.7 packet handler engine before on-the-air transmission, raw data is properly cast into a packet structure. the SPIRIT1 offers a highly flexible and fully programmable packet; the structure of the packet, the number, the type, and the dimension of the fields inside the packet depend on one of the possible configuration settings. through a suitable register the user can choose the packet configuration from three options: stack, wm-bus, and basic. the current packet format is set by the pck_frmt field of the pcktctrl3 register. in particular: 0 basic packet format 2 mbus packet format 3 stack packet format. the general packet parameters which can be set by the user are listed and described hereafter. some particular restrictions are possible depending on the selected packet format. 9.7.1 stack packet am0 3 940v1 to u t tx 0 1 2 3 4 5 6 7 8 1-32 1-4 0-16 bit 1 1 0-4 2 bit 1 bit 0-65535 0-3 preamble sync length dest. address source address control seq. no. no_ack payload crc
SPIRIT1 transmission and reception doc id 022758 rev 3 55/94 preamble (programmable field): the length of the preamble is programmable from 1 to 32 bytes by the preamble_length field of the pcktctrl2 register. each preamble byte is a '10101010' binary sequence. sync (programmable field): the length of the synchronization field is programmable (from 1 to 4 bytes) through dedicated registers. the synchronization word is programmable through registers sync1, sync2, sync3, and sync4. if the programmed sync length is 1 then only the sync1 word is transmitted; if the programmed sync length is 2 then only sync1 and sync2 words are transmitted and so on. length (programmable/optional field): the packet length field is an optional field that is defined as the cumulative length of address (2 bytes always), control, and payload fields. it is possible to support fixed and variable packet length. in fixed mode, the field length is not used. destination address (programmable field): when the destination address filtering is enabled in the receiver, the packet handler engine compares the destination address field of the packet received with the value of register tx_source_addr. if broadcast address and/or multicast address filtering are enabled the packet handler engine compares the destination address with the programmed broadcast and/or multicast address. source address (programmable field): is filled with the value of register tx_source_addr. when source address filtering is enabled in the receiver, the packet handler engine compares the source address received with the programmed source address reference using the source mask address programmed. the field address_len of the pcktctrl4 register must be set always to 2. control (programmable/optional field): is programmable from 0 to 4 bytes through the control_len field of the pcktctrl4 register. control fields of the packet can be set using the tx_ctrl_field[3:0] register. sequence number (programmable field): is a 2-bit field and contains the sequence number of the transmitted packet. it is incremented automatically every time a new packet is transmitted. in the receiver it is used (together with the crc field) to detect if the received packet is new or retransmitted. it can be re-loaded with the value in the tx_seq_num_reload[1:0] field of the protocol[2] register, by using the sequence_update command. no_ack (programmable field): 1 means for the receiver that the packet is not to be auto- acknowledged. it is programmed by the bit field nack_tx of the register protocol[2]. it is important set to 0 this bit field in any other packet format. payload (programmable/optional field): the device supports both fixed and variable payload length transmission from 0 to 65535 bytes. on the transmitter, the payload length is always set as: pcktlen1 256 + pcktlen0. on the receiver, if the field fix_var_len of the pcktctrl2 register is set to 1, the payload length is directly extracted from the received packet itself; if fix_var_len is set to 0, the payload length is controlled by the pcktlen0 and pcktlen1 registers as the transmitter. in variable length mode, the width of the binary field transmitted, where the actual length of payload is written, can be configured through the field len_width of the pcktctrl3 register according to the maximum length expected in the specific application.
transmission and reception SPIRIT1 56/94 doc id 022758 rev 3 example 1 if the variable payload length is from 0 to 31 bytes, then len_width = 5 if the variable payload length is from 0 to 255 bytes, then len_width = 8 if the variable payload length is from 0 to 65535 bytes, then len_width = 16. crc (programmable/optional field): there are diff erent polynomials crc: 8 bits, 16 bits (2 polynomials are available) and 24 bits. when crc automatic filtering is enabled, the received packet is discarded automatically when crc check fails. 9.7.2 wireless m-bus packet (w m-bus, en13757-4) the wm-bus packet structure is shown in the figure below (refer to en13757 for details about sub-mode specific radio setting). the preamble consists of a number of chip sequences '01' whose length depends on the chosen sub-mode according to en13757-4. the length can be programmed using the mbus_prmbl_ctrl, from a minimum to a maximum dictated from the standard specification. 1st block, 2nd block, and optional blocks: can be defined by the user. the packet handler engine uses the manchester or the ?3 out of 6? encoding for all the blocks according to the defined sub-mode. the postamble consists of a number of chip sequences '01' whose length depends on the chosen sub-mode according to en13757-4. the length can be programmed using the mbus_pstmbl_ctrl, from a minimum to a maximum dictated from the standard specification. bytes nx(01) nx(01) preamble sync 1 st block 2 nd block opt. blocks postamble manchester or 3 out of 6 encoding
SPIRIT1 transmission and reception doc id 022758 rev 3 57/94 the sub-mode can be chosen setting the mbus_submode[2:0] field of the mbus_ctrl register. there are 5 possible cases: submode s1, s2 (long header) (mbus_submode=0): ? header length = mbus_prmbl_ctrl + 279 (in '01' bit pairs) ? sync word = 0x7696 (length 18 bits) submode s1-m, s2, t2 (other to meter) (mbus_submode =1): ? header length = mbus_prmbl_ctrl + 15 (in '01' bit pairs) ? sync word = 0x7696 (length 18 bits) submode t1, t2 (meter to other) (mbus_submode =3): ? header length = mbus_prmbl_ctrl + 19 (in '01' bit pairs) ? sync word = 0x3d (length 10 bits) submode r2, short header (mbus_submode =5): ? header length = mbus_prmbl_ctrl + 39 (in '01' bit pairs) ? sync word = 0x7696 (length 18 bits). submode n1, n2, short header: ? header length = 8 (in '01' bit pairs) ? sync word = 0xf68d (length 18 bits). 9.7.3 basic packet preamble (programmable field): the length of the preamble is programmable from 1 to 32 bytes by the preamble_length field of the pcktctrl2 register. each preamble byte is a '10101010' binary sequence. sync (programmable field): the length of the synchronization field is programmable (from 1 to 4 bytes) through dedicated registers. the synchronization word is programmable through registers sync1, sync2, sync3, and sync4. if the programmed sync length is 1, then only sync word is transmitted; if the programmed sync length is 2 then only sync1 and sync2 words are transmitted and so on. length (programmable/optional field): the packet length field is an optional field that is defined as the cumulative length of address, control, and payload fields. it is possible to support fixed and variable packet length. in fixed mode, the field length is not used. destination address (programmable/optional field): when the destination address filtering is enabled in the receiver, the packet handler engine compares the destination address field of the packet received with the value of register tx_source_addr. if broadcast address and/or multicast address filtering are enabled, the packet handler engine compares the destination address with the programmed broadcast and/or multicast address. control (programmable/optional field): is programmable from 0 to 4 bytes through the control_len field of the pcktctrl4 register. control fields of the packet can be set using the tx_ctrl_field[3:0] register. payload (programmable/optional field): the device supports both fixed and variable payload length transmission from 0 to 65535 bytes. 1-32 1-4 0-16 bit 0-1 0-4 0-65535 0-3 preamble sync length address control payload crc
transmission and reception SPIRIT1 58/94 doc id 022758 rev 3 on the transmitter, the payload length is always set as: pcktlen1 256 + pcktlen0. on the receiver, if the field fix_var_len of pcktctrl2 register is set to 1, the payload length is directly extracted from the received packet itself; if fix_var_len is set to 0, the payload length is controlled by the pcktlen0 and pcktlen1 registers as the transmitter. furthermore, in variable length mode, the width of the binary field transmitted, where the actual length of payload is written, must be configured through the field len_width of the pcktctrl3 register according to the maximum length expected in the specific application. example 1 if the variable payload length is from 0 to 31 bytes, then len_width = 5 if the variable payload length is from 0 to 255 bytes, then len_width = 8 if the variable payload length is from 0 to 65535 bytes, then len_width = 16. crc (programmable/optional field): there are diff erent polynomials crc: 8 bits, 16 bits (2 polynomials are available) and 24 bits. when the crc automatic filtering is enabled, the received packet is discarded automatically when the crc check fails. 9.7.4 automatic packet filtering the following filtering criteria to automatically reject a received packet are supported: crc filtering destination address filtering source address filtering control field filtering. packet filtering is enabled by the auto_pckt_flt field of the protocol register and the filtering criteria can be controlled by the pck_flt_opt and pck_flt_goals registers. each filtering option works on the correct packet format according to ta bl e 3 0 . crc : the received packet is discarded if crc is not passed. to enable this automatic filtering feature the bit field crc_check of the pck_flt_opt register must be set. destination address : this automatic filtering feature works on my address, broadcast address and/or multicast address of the receiver. ? destination vs. my address : the received packet is discarded if the destination address received does not match the programmed my address of the receiver. my address can be programmed for the receiver in the tx_source_addr register. to enable this automatic filtering option the bitfield dest_vs_source_addr of the pckt_flt_options register must be set. ? destination vs. broadcast address : the received packet is discarded if the destination address received does not match the programmed broadcast address of the receiver. the broadcast address can be programmed for the receiver in the broadcast register. to enable this automatic filtering option the bitfield dest_vs_broadcast_addr of the pckt_flt_options register must be set. ? destination vs. multicast address : the received packet is discarded if the destination address received does not match the programmed multicast address of the receiver. the multicast address can be programmed for the receiver in the multicast register. to enable this automatic filtering option the bitfield dest_vs_multicast_addr of the pckt_flt_options register must be set.
SPIRIT1 transmission and reception doc id 022758 rev 3 59/94 more than one automatic filtering option can be enabled at the same time. source address : the received packet is discarded if the source address received does not match the programmed source address reference through the source mask address (the reference value used for the comparison is the reference one in and bitwise with the source mask). the source address reference can be programmed for the receiver in the rx_source_addr register and the source address mask in the rx_source_mask register. to enable this automatic filtering option the bitfield source_filtering of the pckt_flt_options register must be set. control : the received packet is discarded if the control field received does not match the programmed control reference through the control mask (the reference value used for the comparison is the reference one in and bitwise with the control mask). the control reference can be programmed for the receiver in the controlx_field registers and the control field mask in the controlx_mask registers. to enable this automatic filtering option the bitfield control_filtering of the pckt_flt_options register must be set. when a filtering mechanism is enabled the packet is signaled to the mcu only if the check is positive, otherwise the packet is automatically discarded. 9.7.5 link layer protocol SPIRIT1 has an embedded auto-ack and auto-retransmission available through the stack packet format. automatic acknowledgment automatic acknowledgment is enabled on the receiver by setting the bitfield auto_ack of the protocol register. in this way, after the receiver receives a packet with success, it sends an ack packet only if the no_ack bit of the received packet is 1. this gives an opportunity for the transmitter to tell the receiver if the packet sent must be acknowledged or not. the ack request can be put in the packet (no_ack packet's bitfield at 1) by setting the nack_tx field of the protocol[2] register. if the ack request is on (no_ack packet's bitfield at 1), the transmitter stays in rx state to receive an ack packet until the rx timeout, programmed with the rx_timeout_prescaler and rx_timeout_counter, expires. table 30. packet configuration stack mbus basic destination address filtering optional no optional broadcast and multicast addressing optional no optional source address filtering optional no no custom filtering optional no optional crc filtering optional no optional
transmission and reception SPIRIT1 60/94 doc id 022758 rev 3 if the transmitter does not receive any ack packet when it must, the packet transmitted is considered lost, and the tx_data_sent in the irq_status register remains at 0. automatic acknowledgment with piggybacking the receiver can fill the ack packet with data. to do so, the receiver must fill the tx fifo with the payload it must transmit and the bitfield piggybacking of protocol[1] register must be set. automatic retransmission if the transmitter does not receive the ack packet, it can be configured to do another transmission. this operation can be repeated up to 15 times. to configure how many times this operation must be performed, the field nmax_retx of the protocol[2] register is used. 9.8 data modes direct modes are primarily intended to completely bypass all the framer/deframer operations, in order to give the user maximum flexibility in the choice of frame formats, controlled by the field txsource of the pcktctrl1 register. in particular: txsource = 0 - normal modes 1 - direct through fifo: payload bytes are continuously read from the tx fifo and transmitted without any processing (no preamble, no sync, no coding, etc.). it is the responsibility of the microcontroller to avoid any underflow conditions on the tx fifo. 2 - direct through gpio: payload bits are continuously read from one of the gpio ports and transmitted without any processing (no preamble, no sync, no coding, etc.). to allow the synchronization of an external data source, a data clock signal is also provided on one of the gpio ports. data are sampled by the device on the rising edge of such clock signal; it is the responsibility of the external data source to provide a stable input at this edge. 3 - pn9 mode: a pseudo-random binary sequence is generated internally. this mode is provided for test purposes only. to improve flexibility, the entire packet related functions can be bypassed and the device can operate in one of the following direct modes, controlled by the field rxmode of pcktctrl3. in particular: rxmode = 0 - normal modes 1 - direct through fifo: payload bytes are continuously received and written to the rx fifo without any processing (no preamble search, no sync, no decoding, etc.). it is the responsibility of the microcontroller to avoid any overflow conditions on the rx fifo. 2 - direct through gpio: payload bits are continuously written to one of the gpio ports without any processing (no preamble search, no sync, no decoding, etc.). to allow the synchronization of an external data sink, a data clock signal is also provided on one of the gpio ports. data are updated by the device on the rising edge of such clock signal so the mcu must read it during falling edge of clk.
SPIRIT1 transmission and reception doc id 022758 rev 3 61/94 9.9 data fifo in the SPIRIT1 there are two data fifos, a tx fifo for data to be transmitted and an rx fifo for the received data. the length of both fifos is 96 bytes. the spi interface is used to read from the rx fifo and write to the tx fifo (see figure 10 ) starting from the address 0xff. figure 10. threshold of the linear fifo the fifo has two programmable thresholds: fifo almost full and fifo almost empty. the fifo almost full event occurs when the data crosses the threshold from below to above. the tx fifo almost empty threshold can be configured using the field txaethr in the fifo_config[0] register. the rx fifo almost empty threshold can be configured using the field rxaethr in the fifo_config[2] register. the fifo almost empty event occurs when the data crosses the threshold from above to below. the tx fifo almost full threshold can be configured using the field txafthr in the fifo_config[1] register. the rx fifo almost full threshold can be configured using the field rxafthr in the fifo_config[3] register. &)&/ &)&/almostfull threshold &)&/almostempty threshold !-6
transmission and reception SPIRIT1 62/94 doc id 022758 rev 3 another event occurs when the fifo goes into overflow or underflow. the overflow happens when the data in the fifo are more than 96 bytes. the underflow happens when the SPIRIT1 accesses the fifo locations to read data, but there is no data present. for example: if it reads from the rx fifo more data than the actual number of bytes in it, the rx fifo underflow/overflow error occurs for an underflow event. if the SPIRIT1 receives a lot of data to fill the rx fifo and exceeds the 96 bytes limit, an rx fifo underflow/overflow error occurs for an overflow event. if it sends more data than the actual number of bytes in the tx fifo, the tx fifo underflow/overflow error occurs for an underflow event. if it writes more than 96 bytes in the tx fifo, a tx fifo underflow/overflow error occurs for an overflow event. an easy way to clean the fifos is to use the flush commands: flushtxfifo for the tx fifo and flushrxfifo for the rx fifo. the write tx fifo operation needs an extra spi transaction to write correctly the last byte into the tx fifo. usually, this last spi transaction is generated from the tx command sent to transmit the data, otherwise a dummy spi transaction must be done. using the auto-retransmission feature of the SPIRIT1 (packet format stack), if the packet is more than 96 bytes, the packet must be reloaded into the tx fifo by the mcu. however, if the payload is 96 bytes or less, the SPIRIT1 handles the payload and it is not necessary to reload the data into the tx fifo at each retransmission. in addition, if the transmitter does not receive the ack packet, the payload remains in the tx fifo. the user can decide to clean the tx fifo or re-send the data again. if the payload is more than 96 bytes, only the last part of the payload that fits the tx fifo remains in it. 9.10 receiver quality indicators the following quality indicators are associated to the received signal: received signal strength indicator (rssi) link quality indicator (lqi) preamble quality indicator (pqi) synchronization quality indicator (sqi). 9.10.1 rssi the received signal strength indicator (rssi) is a measurement of the received signal power at the antenna measured in the channel filter bandwidth. the measured power is reported in steps of half a db from 0 to 255 and is offset in such a way that -120 dbm corresponds to about 20. rssi reading is available after the reception of a packet in the rssi_level register.
SPIRIT1 transmission and reception doc id 022758 rev 3 63/94 9.10.2 carrier sense the carrier sense functionality can be used to detect if any signal is being received, the detection is based on the measured rssi value. there are 2 operational modes for carrier sensing: static and dynamic. when static carrier sensing is used (cs_mode = 0), the carrier sense signal is asserted when the measured rssi is above the value specified in the rssi_th register and is de- asserted when the rssi falls 3 db below the same threshold. when dynamic carrier sense is used (cs_mode = 1, 2, 3), the carrier sense signal is asserted if the signal is above the threshold and a fast power increase of 6, 12, or 18 db is detected; it is de-asserted if a power fall of the same amplitude is detected. the carrier sense signal is also used internally for the demodulator to start the afc and timing recovery algorithms and for the csma procedure (for this use it should be set to cs_mode = 0). the carrier sense function is controlled by the following parameters: rssi threshold: this parameter sets the minimum signal power above which the carrier sense signal is asserted (rssi_th register). cs mode: this parameter controls the carrier sense operational modes (rssi_flt register, allowed values 0...3): cs_mode = 0 static carrier sensing cs_mode = 1 dynamic carrier sensing with 6 db dynamic threshold cs_mode = 2 dynamic carrier sensing with 12 db dynamic threshold cs_mode = 3 dynamic carrier sensing with 18 db dynamic threshold. 9.10.3 lqi the link quality indicator is a 4-bit value available through the link_qualif[0] register. its value depends on the noise power on the demodulated signal. the lower the value, the noisier the signal. be aware that comparing lqi values measured with different modulation formats or data rate may lead to inconsistent results. 9.10.4 pqi the preamble quality indicator (pqi) is intended to provide a measurement of the reliability of the preamble detection phase. this indicator counts the number of consecutive bit inversions in the received data stream. the pqi ranges from 0 to 255. it is increased by 1 every time a bit inversion occurs, while it is decreased by 4 every time a bit repetition occurs. it is possible to set a preamble quality threshold in such a way that, if pqi is below the threshold, the packet demodulation is automatically aborted at/after a timeout after the start of rx. if the preamble quality indicator check is enabled (field pqi_en of the qi register set to '1'), the running peak pqi is compared to a threshold value and the preamble valid irq is asserted as soon as the threshold is passed. the preamble quality threshold is 4pqi_th (pqi_th = 0...15).
transmission and reception SPIRIT1 64/94 doc id 022758 rev 3 9.10.5 sqi the synchronization quality indicator (sqi) is a measurement of the best correlation between the received synchronization word and the expected one. the value representing a perfect match is 8sync_length. this indicator is calculated as the peak cross-correlation between the received data stream and the expected synchronization word. it is possible to set a synchronization quality threshold in such a way that, if sqi is below the threshold, the packet demodulation is automatically aborted. if the synchronization quality indicator check is enabled (field sqi_en of the qi register set to '1'), the running peak sqi is compared to a threshold value and the sync valid irq is asserted as soon as the threshold is passed. the preamble quality threshold is equal to 8 sync_len - 2xsqi_th with sqi_th = 0..3. when sqi_th is 0, a perfect match is required; when sqi_th = 1, 2, 3 then 1, 2, or 3-bit errors are respectively accepted. it is recommended to always enable the sqi check. rx timeout mechanism in order to reduce power consumption, a few automatic rx timeout modes are supported. rx timeout applies both to normal receive mode and to the ldcr mode. infinite timeout: in this mode rx is stopped when the packet ends or the sabort command strobe is issued (default). carrier sense timeout: rx is aborted if the rssi never exceeds a programmed threshold within trx timeout. sqi timeout: in this mode rx is aborted if the synchronization quality indicator (sqi) never exceeds a programmed threshold within trx timeout. pqi timeout: in this mode rx is aborted if the preamble quality indicator (pqi) never exceeds a programmed threshold within trx timeout. the value of trx timeout can be programmed ranging from ~1 s to ~3 sec. 9.11 antenna diversity the device implements a switching based antenna diversity algorithm. the switching decision is based on a comparison between the received power level on antenna 1 and antenna 2 during the preamble reception. the antenna switching function allows to control an external switch in order to select the antenna providing the highest measured rssi. when antenna switching is enabled, the two antennas are repeatedly switched during the reception of the preamble of each packet, until the carrier sense threshold is reached (c) (static carrier sense mode must be used). from this point on, the antenna with the highest power is selected and switching is frozen. the switch control signal is available on gpio and in the mc_state[1] register. c. the user should make sure to provide a preamble suffic iently long to allow the algorithm to choose the final antenna.
SPIRIT1 transmission and reception doc id 022758 rev 3 65/94 the algorithm is controlled by the following parameters: as_meas_time: this parameter controls the time interval for rssi measurement (ant_select_conf register, allowed values 0...7). the actual measurement time is: equation 11 as_enable: this parameter enables the antenna switching function (ant_select_conf register: 0: disabled; 1: enabled). 9.12 frequency hopping in order to ensure good link reliability in an interference corrupted scenario, the device supports frequency hopping, managed by the mcu; in particular, the SPIRIT1 supports slow frequency hopping, meaning that the systems change frequency at a rate slower than the information rate. depending on the desired blanking interval (the time during a hop), frequency hopping can be done by performing the complete pll calibration for each channel hop, or reading in the suitable register calibration data calculated at startup and stored in the non-volatile memory of the mcu. the former solution gives a long blanking interval but is more robust compared with supply voltage and temperature variation. the latter provides a shorter blanking time but is sensitive to voltage and temperature variation and requires memory space to store calibration data for each channel involved in hopping. t meas 24 2 chflt_e 2 as_meas_time ?? f xo ---------------------------------------------------------------------------------- =
mcu interface SPIRIT1 66/94 doc id 022758 rev 3 10 mcu interface communication with the mcu goes through a standard 4-wire spi interface and 4 gpios. the device is able to provide a system clock signal to the mcu. mcu performs the following operations: program the SPIRIT1 in different operating modes by sending commands read and write buffered data, and status information from the spi get interrupt requests from the gpio pins apply external signals to the gpio pins. 10.1 serial peripheral interface the SPIRIT1 is configured by a 4-wire spi-compatible interface (csn, sclk, mosi, and miso). more specifically: csn: chip select, active low sclk: bit clock mosi: data from mcu to SPIRIT1 (SPIRIT1 is the slave) miso: data from SPIRIT1 to mcu (mcu is the master). as the mcu is the master, it always drives the csn and sclk. according to the active sclk polarity and phase, the SPIRIT1 spi can be classified as mode 1 (cpol=0, cpha=0), which means that the base value of sclk is zero, data are read on the clock's rising edge and data are changed on the clock's falling edge. the miso is in tri-state mode when csn is high. all transfers are done most significant bit first. the spi can be used to perform the following operations: write data (to registers or fifo queue) read data (from registers or fifo queue) write commands. when accessing the spi interface, the two status bytes of the mc_state[1:0] registers are sent to the miso pin. the timing diagrams of the three operations above are reported below. figure 11. spi ?write? operation 3#,+ # 0/, #3n -/3) ! (eader"yte $atawrittento!ddress $atawrittento!ddress  -)3/ 72  !# $ont#are 4ri 3tate       ! ! ! ! ! ! ! 3pirit-emory-ap!ddress $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3pirit3tatusbits # 0(! !-6
SPIRIT1 mcu interface doc id 022758 rev 3 67/94 figure 12. spi ?read? operation figure 13. spi ?command? operation concerning the first byte, the msb is an a/c bit (address/commands: 0 indicates that the following byte is an address, 1 indicates that the following byte is a command code), while the lsb is a w/r bit (write/read: 1 indicates a read operation). all other bits must be zero. read and write operations are persistently executed while csn is kept active (low), the address being automatically incremented (burst mode). accessing the fifo is done as usual with the read and write commands, by putting, as the address, the code 0xff. burst mode is available to access the sequence of bytes in the fifo. clearly, rx-fifo is accessed with a read operation, tx-fifo with a write operation. details of the spi parameters are reported below. table 31. spi interface timing requirements symbol parameter min. max. unit f sclk sclk frequency 10 mhz t sp csn low to positive edge on sclk 2 s 3#,+ #3n -/3) ! (eader"yte $atareadfrom!ddress $atareadfrom!ddress  72  !# $ont#are 4ri 3tate        ! ! ! ! ! ! ! 3pirit-emory-ap!ddress $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ -)3/ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3pirit3tatusbits !-6 3#,+ #3n -/3) # (eader"yte 72  !# $ont#are 4ri 3tate       # # # # # # # 3pirit#ommand#ode -)3/ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3pirit3tatusbits !-6
mcu interface SPIRIT1 68/94 doc id 022758 rev 3 10.2 interrupts in order to notify the mcu of a certain number of events an interrupt signal is generated on a selectable gpio. the following events trigger an interrupt to the mcu: all interrupts are reported on a set of interrupt status registers and are individually maskable. the interrupt status register must be cleared upon a read event from the mcu. the status of all the interrupts is reported on the irq_status[3:0] registers: bits are high for the events that have generated any interrupts. the interrupts are individually maskable table 32. interrupts bit events group interrupt event 0 packet oriented rx data ready 1 rx data discarded (upon filtering) 2tx data sent 3 max. re-tx reached 4 crc error 5 tx fifo underflow/overflow error 6 rx fifo underflow/overflow error 7 tx fifo almost full 8 tx fifo almost empty 9 rx fifo almost full 10 rx fifo almost empty 11 max. number of backoff during cca 12 signal quality related valid preamble detected 13 sync word detected 14 rssi above threshold (carrier sense) 15 device status related wake-up timeout in ldcr mode (1) 1. the interrupt flag n.15 is set (and consequently the in terrupt request) only when the xo clock is available for the state machine. this time may be delayed compared to the actual timer expiration. however, the real time event can be sensed putting the end-of-counting signal on a gpio output. 16 ready (2) 2. the interrupt flag n.16 is set each time the SPIRIT1 goes to ready state and the xo has completed its setting transient (xo ready condition detected). 17 standby state switching in progress 18 low battery level 19 power-on reset 20 brownout event 21 lock 29 timer related rx operation timeout 30 others aes end?of?operation
SPIRIT1 mcu interface doc id 022758 rev 3 69/94 using the irq_mask[3:0] registers: if the mask bit related to a particular event is programmed at 0, that event does not generate any interrupt request. 10.3 gpios the total number of gpio pins is 4. each pin is individually configurable. digital outputs can be selected from the following (see gpiox_conf register): table 33. digital outputs i/o selection output signal 0 nirq (interrupt request, active low) 1 por inverted (active low) 2 wake-up timer expiration: ?1? when wut has expired 3 low battery detection: ?1? when battery is below threshold setting 4 tx data internal clock output (tx data are sampled on the rising edge of it) 5 tx state indication: ?1? when the SPIRIT1 is transiting in the tx state 6 tx fifo almost empty flag 7 tx fifo almost full flag 8 rx data output 9 rx clock output (recovered from received data) 10 rx state indication: ?1? when SPIRIT1 is transiting in the rx state 11 rx fifo almost full flag 12 rx fifo almost empty flag 13 antenna switch used for antenna diversity 14 valid preamble detected flag 15 sync word detected flag 16 rssi above threshold (same indication as bit cs in the link_qualif[1] register) 17 mcu clock 18 tx or rx mode indicator (to enable an external range extender) 19 vdd (to emulate an additional gpio of the mcu, programmable by spi) 20 gnd (to emulate an additional gpio of the mcu, programmable by spi) 21 external smps enable signal (active high) 22 device in sleep or standby states 23 device in ready state 24 device in lock state 25 device waiting for a high level of the lock-detector output signal
mcu interface SPIRIT1 70/94 doc id 022758 rev 3 all interrupts are reported on a set of interrupt status registers and are individually maskable. the interrupt status register must be cleared upon a read event from the mcu. the status of all the interrupts is reported on the irq_status[3:0] registers: bits are high for the events that have generated any interrupts. the interrupts are individually maskable using the irq_mask[3:0] registers: if the mask bit related to a particular event is programmed at 0, that event does not generate any interrupt request. digital inputs can be selected from the following (see gpiox_conf register): the only available analog output is the temperature sensor, see section 8.10 . 10.4 mcu clock SPIRIT1 can directly provide the system clock to the mcu in order to avoid the use of an additional crystal. the clock signals for the mcu can be available on the gpio pins. the source oscillator can be the internal rco or the xo depending on the active state. when xo is active, it is the source clock (the rco is not available in this condition). in addition, different ratios are available and programmable through the mcu_ck_conf configuration register, as described in ta b l e 3 5 . 26 device waiting for timer expiration before starting to sample the lock-detector output signal 27 device waiting for a high level of the ready2 signal from xo 28 device waiting for timer expiration to allow pm block settling 29 device waiting for end of vco calibration 30 device enables the full circuitry of the synth block 31 device waiting for a high level of the rccal_ok signal from the rco calibrator table 34. digital inputs i/o selection input signal 0 1 >> tx command 1 1 >> rx command 2 tx data input for direct modulation 3 wake-up from external input (sensor output) 4 external clock @ 34.7 khz (used for ldc modes timing) from 5 to 31 not used table 33. digital outputs (continued) i/o selection output signal
SPIRIT1 mcu interface doc id 022758 rev 3 71/94 in standby state, no oscillator is available as the clock source. in order to allow the mcu to better handle this event, and avoid a potential dead state situation, a dedicated procedure is forecasted when the SPIRIT1 enters standby state. a few extra clock cycles can be provided to the mcu before actually stopping the clock (an interrupt is generated to notify the mcu of this event). the number of extra cycles can be programmed through the mcu_ck_conf configuration register to 0, 64, 256, or 512. the mcu can make use of these cycles to prepare to standby or to switch on any auxiliary clock generator. the maximum transition time from ready to standby is then: equation 12 where f clk is the digital clock frequency (typically 26 mhz). the transition to sleep state causes the mcu clock source to change from xo to rco. similarly, when the SPIRIT1 exits sleep to any active state, the source is the xo. both table 35. mcu_ck_conf configuration register mcu_ck_conf[4:0] clock source division ratio xo_ratio rco_ratio don?t care 0 rco 1 1 1/128 0don?t carexo 1 1 2/3 2 1/2 3 1/3 4 1/4 5 1/6 6 1/8 71/12 81/16 91/24 10 1/36 11 1/48 12 1/64 13 1/96 14 1/128 15 1/192 t ready standby 1 f clk ------- - 512 1 192 ? -------------------- 98304 f clk ---------------- = ? =
mcu interface SPIRIT1 72/94 doc id 022758 rev 3 these transitions are implemented in order to be glitch-free. this is guaranteed by synchronizing both transitions, switching on the rising or falling edge of the rco clock. the clock provided to the mcu depends on the current state: table 36. mcu clock vs. state state source oscillator mcu clock shutdown n/a n/a standby n/a tail sleep rc osc rc/1 or rc/128 ready tuning rx tx xtal xtal/n
SPIRIT1 register table doc id 022758 rev 3 73/94 11 register table this section describes all the registers used to configure the SPIRIT1. the description is structured in sections according to the register usage. SPIRIT1 has three types of registers: read and write (r/w), which can be completely managed by spi using read and write operations read-only (r) read-and-reset (rr), is automatically cleared after a read operation. a further category of special registers collects the ones which cannot be categorized in any of the three mentioned above r/w, r, or rr. the fields named as ?reserved? must not be overridden by the user, otherwise, behavior is not guaranteed. the memory map is shown in the following table: table 37. general configuration registers register address bit field name reset r/w description ana_func_conf[1] 0x00 7:5 reserved 000 r/w 4:2 gm_conf[2:0] 011 sets the driver gm of the xo at startup 1:0 set_bld_lvl[1:0] 00 sets the bld threshold 00: 2.7 v 01: 2.5 v 10: 2.3 v 11: 2.1 v ana_func_conf[0] 0x01 7 reserved 1 r/w 6 24_26mhz_select 1 1: 26 mhz configuration 0: 24 mhz configuration (impact only rco calibration reference and loop filter tuning) 5 aes_on 0 1: aes engine enabled 4 ext_ref 0 0: reference signal from xo circuit 1: reference signal from xin pin 3 reserved 0 2brown_out 0 1: enables accurate brownout detection 1 battery_level 0 1: enables battery level detector circuit 0ts 0 1: enables the ?temperature sensor? function
register table SPIRIT1 74/94 doc id 022758 rev 3 gpio3_conf 0x02 7:3 gpio_select[4:0] 10100 r/w gpio3 configuration (default: digital gnd) 2 reserved 0 1:0 gpio_mode[1:0] 10 gpio3 mode: 01b: digital input 10b: digital output low power 11b: digital output high power (default: digital output low power) gpio2_conf 0x03 7:3 gpio_select[4:0] 10100 r/w gpio2 configuration (default: digital gnd) 2 reserved 0 1:0 gpio_mode 10 gpio2 mode: 01b: digital input 10b: digital output low power 11b: digital output high power (default: digital output low power) gpio1_conf 0x04 7:3 gpio_select[4:0] 10100 r/w gpio1 configuration (default: digital gnd) 2 reserved 0 1:0 gpio_mode 10 gpio1 mode: 01b: digital input 10b: digital output low power 11b: digital output high power (default: digital output low power) gpio0_conf 0x05 7:3 gpio_select[4:0] 00001 r/w gpio0 configuration (default: power-on reset signal) 2 reserved 0 1:0 gpio_mode 10 gpio0 mode: 00b: analog 01b: digital input 10b: digital output low power 11b: digital output high power (default: digital output low power) table 37. general configuration registers (continued) register address bit field name reset r/w description
SPIRIT1 register table doc id 022758 rev 3 75/94 mcu_ck_conf 0x06 7 en_mcu_clk 0 r/w 1: the internal divider logic is running, so the mcu clock is available (but proper gpio configuration is needed) 6:5 clock_tail[1:0] 0 number of extra clock cycles provided to the mcu before switching to standby state: 00: 0 extra clock cycle 01: 64 extra clock cycles 10: 256 extra clock cycles 11: 512 extra clock cycles 4:1 xo_ratio[3:0] 0 divider for the xo clock output 0 rco_ratio 0 divider for the rco clock output 0: 1 1: 1/128 xo_rco_test 0xb4 7:4 reserved 3pd_clkdiv 0 1: disable both dividers of the digital clock (and reference clock for the smps) and if- adc clock. 2:0 reserved synth_config[0] 0x9f 7 sel_tsplit 0 r/w 0: split time: 1.75 ns 1: split time: 3.47 ns 6:0 reserved synth_config[1] 0x9e 7refdiv 0 r/w enable division by 2 on the reference clock: 0: f ref = f xo frequency 1: f ref = f xo frequency / 2 6:3 reserved 2 vco_l_sel 0 1: enable the vco_l 1 vco_h_sel 1 1: enable the vco_l 0 reserved if_offset_ana 0x07 7:0 if_offset_ana 0xa3 r/w intermediate frequency setting for the analog rf synthesizer. (see section 9.4 ) table 37. general configuration registers (continued) register address bit field name reset r/w description
register table SPIRIT1 76/94 doc id 022758 rev 3 table 38. radio configuration registers (analog blocks) register name address bit field name reset r/w description synt3 0x08 7:5 wcp[2:0] 000 r/w set the charge pump current according to the vco frequency. see ta b l e 2 4 . 4:0 synt[25:21] 01100 synt[25:21], highest 5 bits of the pll programmable divider the valid range depends on f xo and refdiv settings; for f xo =26mhz. see equation 2 synt2 0x09 7:0 synt[20:13] 0x84 r/w synt[20:13], intermediate bits of the pll programmable divider. see equation 2 synt1 0x0a 7:0 synt[12:5] 0xec r/w synt[12:5], intermediate bits of the pll programmable divider. see equation 2 synt0 0x0b 7:3 synt[4:0] 01010 r/w synt[4:0], lowest bits of the pll programmable divider. see equation 2 2:0 bs 001 r/w synthesizer band select. this parameter selects the out-of- loop divide factor of the synthesizer (b in equation 2 ). 1: 6 band select factor for high band 2: 8 band select factor for high band 3: 12 band select factor for middle band 4: 16 band select factor for low band 5: 32 band select factor for very low band chspace 0x0c 7:0 ch_spacing 0xfc r/w channel spacing in steps of f xo /2 15 (~793 for f xo = 26 mhz, ~732 for f xo = 24 mhz). if_offset_dig 0x0d 7:0 if_offset_dig 0xa3 r/w intermediate frequency setting for the digital shift-to-baseband (see section 9.4 ) fc_offset[1] 0x0e 7:4 reserved 0 r/w carrier offset in steps of f xo /2 18 and represented as 12 bits 2-complement integer. it is added / subtracted to the carrier frequency set by the syntx register. this register can be used to set a fixed correction value obtained e.g. from crystal measurements. 3:0 fc_offset[11:8] 0 fc_offset[0] 0x0f 7:0 fc_offset[7:0] 0 r/w
SPIRIT1 register table doc id 022758 rev 3 77/94 pa _ p ow e r [ 8 ] 0 x 1 0 7 reserved 0 r/w 6:0 pa_level_7 000001 1 output power level for 8 th slot (+12 dbm) pa _ p ow e r [ 7 ] 0 x 1 1 7 reserved 0 r/w 6:0 pa_level_6 000111 0 output power level for 7 th slot (+6 dbm) pa _ p ow e r [ 6 ] 0 x 1 2 7 reserved 0 r/w 6:0 pa_level_5 001101 0 output power level for 6 th slot (0 dbm) pa _ p ow e r [ 5 ] 0 x 1 3 7 reserved 0 r/w 6:0 pa_level_4 010010 1 output power level for 5 th slot (- 6 dbm) pa _ p ow e r [ 4 ] 0 x 1 4 7 reserved 0 r/w 6:0 pa_level_3 011010 1 output power level for 4 th slot (- 12 dbm) pa _ p ow e r [ 3 ] 0 x 1 5 7 r e s e r v e d 0 r / w 6:0 pa_level_2 100000 0 output power level for 3 rd slot (- 18 dbm) pa _ p ow e r [ 2 ] 0 x 1 6 7 r e s e r v e d 0 r / w 6:0 pa_level_1 100111 0 output power level for 2 nd slot (-24 dbm) pa _ p ow e r [ 1 ] 0 x 1 7 7 r e s e r v e d 0 r / w 6:0 pa_level_0 000000 0 output power level for first slot (-30 dbm) pa_power[0] 0x18 7:6 cwc[1:0] 00 r/w output stage additional load capacitors bank (to be used to optimize the pa for different sub-bands): 00: 0 pf 01: 1.2 pf 10: 2.4 pf 11: 3.6 pf 5 pa_ramp_enable 0 1: enable the power ramping 4:3 pa_ramp_step_wi dth[1:0] 00 step width (unit: 1/8 of bit period) 2:0 pa_level_max_in dex 111 final level for power ramping or selected output power index. table 38. radio configuration registers (analog blocks) (continued) register name address bit field name reset r/w description
register table SPIRIT1 78/94 doc id 022758 rev 3 table 39. radio configuration registers (digital blocks) register name address bit field name reset r/w description mod1 0x1a 7:0 datarate_m 0x83 r/w the mantissa value of the data rate equation mod0 0x1b 7cw 0 r/w 1: enable the cw transmit mode 6 bt_sel 0 select bt value for gfsk 0: bt = 1 1: bt = 0.5 5:4 mod_type[1:0] 01 modulation type 0: 2-fsk 1: gfsk 2: ask/ook 3: msk 3:0 datarate_e 1010 the exponent value of the data rate equation fdev0 0x1c 7:4 fdev_e[3:0] 0100 r/w the exponent value of the frequency deviation equation 3 clock_rec_algo _sel 0 select pll or dll mode for symbol timing recovery 2:0 fdev_m 101 the mantissa value of the frequency deviation equation chflt 0x1d 7:4 chflt_m[3:0] 0010 r/w the mantissa value of the channel filter according to ta b l e 3 0 3:0 chflt_e 0011 the exponent value of the channel filter according to ta b l e 3 0 afc2 0x1e 7 afc freeze on sync 0 r/w 1: enable the freeze afc correction upon sync word detection 6 afc enabled 1 1: enable afc 5 afc mode 0 select afc mode: 0: afc loop closed on slicer 1: afc loop closed on second conversion stage 4:0 afc pd leakage 01000 peak detector leakage afc1 0x1f 7:0 afc_fast_period 0x18 r/w length of the afc fast period afc0 0x20 7:4 afc_fast_gain_l og2[3:0] 0010 r/w afc loop gain in fast mode (log2) 3:0 afc_slow_gain_l og2 0101 afc loop gain in slow mode (log2)
SPIRIT1 register table doc id 022758 rev 3 79/94 rssi_flt 0x21 7:4 rssi_flt[3:0] 1110 r/w gain of the rssi filter 3:2 cs_mode 00 carrier sense mode (see section 9.10.2 ) 1:0 ook_peak_decay 11 peak decay control for ook: 3 slow decay; 0 fast decay rssi_th 0x22 7:0 rssi_threshold 0x24 r/w signal detect threshold in 0.5 db steps, -120 dbm corresponds to 0x14. (see section 9.10.1 ) clockrec 0x23 7:5 clk_rec_p_gain[ 2:0] 2 r/w clock recovery loop gain (log2) 4 pstflt_len 1 post-filter: 0: 8 symbols, 1: 16 symbols 3:0 clk_rec_i_gain 8 integral gain for the clock recovery loop (used in pll mode) agcctrl2 0x24 7:4 reserved 0010 r/w 3:0 meas_time 0010 measure time agcctrl1 0x25 7:4 threshold_high[ 3:0] 0110 r/w high threshold for the agc 3:0 threshold_low 0101 low threshold for the agc agcctrl0 0x26 7 agc enable 1 r/w 1: enable agc. 6:0 reserved 000101 0 ant_select_conf 0x27 7:5 reserved 000 r/w 4 cs_blanking 0 1: do not fill the rx fifo with the data received if the signal is below the cs threshold 3 as_enable 0 1: enable antenna switching 2:0 as_meas_time 101 measurement time table 39. radio configuration registers (digital blocks) (continued) register name address bit field name reset r/w description
register table SPIRIT1 80/94 doc id 022758 rev 3 table 40. packet/protocol configuration registers register name address bit field name reset r/w description pcktctrl4 0x30 7:5 reserved 000 r/w 4:3 address_len[1:0] 00 length of address field in bytes: 0 or 1: basic 2: stack 2:0 control_len 000 length of control field in bytes pcktctrl3 0x31 7:6 pckt_frmt[1:0] 00 r/w format of packet. 0: basic, 2: wm-bus, 3: stack 5:4 rx_mode[1:0] 00 rx mode: 0: normal mode, 1: direct through fifo, 2: direct through gpio 3:0 len_wid 0111 size in number of binary digit of length field pcktctrl2 0x32 7:3 preamble_length[ 4:0] 00011 r/w length of preamble field in bytes (from 1 to 32) 2:1 sync_length[1:0] 11 length of sync field in bytes (from 1 to 4) 0 fix_var_len 0 packet length mode. 0: fixed, 1: variable (in variable mode the field len_wid of pcktctrl3 register must be configured)
SPIRIT1 register table doc id 022758 rev 3 81/94 pcktctrl1 0x33 7:5 crc_mode[2:0] 001 r/w crc: 0: no crc, 1: 0x07, 2: 0x8005, 3: 0x1021, 4: 0x864cbf 4whit_en[0] 0 1: enable the whitening mode on the data 3:2 txsource[1:0] 00 tx source data: 0: normal mode, 1: direct through fifo, 2: direct through gpio, 3: pn9 1 reserved 0 0fec_en 0 1: enable the fec encoding in tx or enable the viterbi decoding in rx pcktlen1 0x34 7:0 pcktlen1 0 r/w length of packet in bytes (msb) pcktlen0 0x35 7:0 pcktlen0 0x14 r/w length of packet in bytes (lsb) sync4 0x36 7:0 sync4 0x88 r/w sync word 4 sync3 0x37 7:0 sync3 0x88 r/w sync word 3 sync2 0x38 7:0 sync2 0x88 r/w sync word 2 sync1 0x39 7:0 sync1 0x88 r/w sync word 1 qi 0x3a 7:6 sqi_th[1:0] 00 r/w sqi threshold (see section 9.10.5 ) 5:2 pqi_th[3:0] 0000 pqi threshold (see section 9.10.4 ) 1 sqi_en[0] 1 1: enable sqi 0 pqi_en[0] 0 1: enable pqi mbus_prmbl 0x3b 7:0 mbus_prmbl[7:0] 0x20 r/w mbus preamble length in chip sequence ?01? mbus_pstmbl 0x3c 7:0 mbus_pstmbl[7:0] 0x20 r/w mbus postamble length in chip sequence ?01? table 40. packet/protocol confi guration registers (continued) register name address bit field name reset r/w description
register table SPIRIT1 82/94 doc id 022758 rev 3 mbus_ctrl 0x3d 7:4 reserved 00000 r/w 3:1 mbus_submode[2:0 ] 000 mbus sub mode: allowed values are 0, 1, 3 and 5 wm-bus sub mode: 0: s1 s2 long header, 1: s1m s2 t2 other to meter, 3: t1 t2 meter to other, 5: r2 short header 0 reserved 0 fifo_config[3] 0x3e 7 reserved 0 r/w 6:0 rxafthr [6:0] 110000 r/w fifo almost full threshold for rx fifo fifo_config[2] 0x3f 7 reserved 0 r/w 6:0 rxaethr [6:0] 110000 r/w fifo almost empty threshold for rx fifo fifo_config[1] 0x40 7 reserved 0 r/w 6:0 txafthr [6:0] 110000 r/w fifo almost full threshold for tx fifo fifo_config[0] 0x41 7 reserved 0 r/w 6:0 txaethr [6:0] 110000 r/w fifo almost empty threshold for tx fifo pckt_flt_goals[12] 0x42 7:0 control0_mask 0 r/w for received packet only: all 0s: no filtering on control field pckt_flt_goals[11] 0x43 7:0 control1_mask 0 r/w for received packet only: all 0s: no filtering on control field pckt_flt_goals[10] 0x44 7:0 control2_mask 0 r/w for received packet only: all 0s: no filtering on control field pckt_flt_goals[9] 0x45 7:0 control3_mask 0 r/w for received packet only: all 0s: no filtering on control field pckt_flt_goals[8] 0x46 7:0 control0_field 0 r/w control field (byte 3) to be used as reference for receiver pckt_flt_goals[7] 0x47 7:0 control1_field 0 r/w control field (byte 2) to be used as reference for receiver pckt_flt_goals[6] 0x48 7:0 control2_field 0 r/w control field (byte 1) to be used as reference for receiver pckt_flt_goals[5] 0x49 7:0 control3_field 0 r/w control field (byte 0) to be used as reference for receiver pckt_flt_goals[4] 0x4a 7:0 rx_source_mask 0 r/w for received packet only: all 0s: no filtering pckt_flt_goals[3] 0x4b 7:0 rx_source_addr 0 r/w rx packet source / tx packet destination fields table 40. packet/protocol confi guration registers (continued) register name address bit field name reset r/w description
SPIRIT1 register table doc id 022758 rev 3 83/94 pckt_flt_goals[2] 0x4c 7:0 broadcast 0 r/w broadcast address pckt_flt_goals[1] 0x4d 7:0 multicast 0 r/w multicast address pckt_flt_goals[0] 0x4e 7:0 tx_source_addr 0 r/w tx packet source / rx packet destination fields pckt_flt_options 0x4f 7 reserved 0 r/w 6 rx_timeout_and_ or_select 1 1: ?or? logical function applied to cs/sqi/pqi values (masked by 7:5 bits in protocol register: cs_timeout_mask, sqi_timeout_mask, pqi_timeout_mask) 5 control_filterin g 1 1: rx packet accepted if its control fields match with masked controlx_field registers 4 source_filtering 1 1: rx packet accepted if its source field matches with masked rx_source_addr register 3 dest_vs_ source _addr 0 1: rx packet accepted if its destination address matches with tx_source_addr reg. 2 dest_vs_multicas t_addr 0 1: rx packet accepted if its destination address matches with multicast register 1 dest_vs_ broadcast_addr 0 1: rx packet accepted if its destination address matches with broadcast register. 0 crc_check 0 1: packet discarded if crc not valid. table 40. packet/protocol confi guration registers (continued) register name address bit field name reset r/w description
register table SPIRIT1 84/94 doc id 022758 rev 3 protocol[2] 0x50 23 cs_timeout_mask 0 r/w 1: cs value contributes to timeout disabling 22 sqi_timeout_mask 0 1: sqi value contributes to timeout disabling 21 pqi_timeout_mask 0 1: pqi value contributes to timeout disabling 20:1 9 tx_seq_num_relo ad[1:0] 0 tx sequence number to be used when counting reset is required using the related command. 18 rco_calibration 0 1: enable the automatic rco calibration 17 vco_calibration 1 1: enable the automatic vco calibration 16 ldc_mode 0 1: ldc mode on protocol[1] 0x51 15 ldc_reload_on_s ync 0 r/w 1: ldc timer is reloaded with the value stored in the ldc_reload registers 14 piggybacking 0 1: piggybacking enabled 13:1 2 reserved 00 11 seed_reload 0 1: reload the back-off random generator seed using the value written in the bu_counter_seed_msby te / lsbyte registers 10 csma_on 0 1: csma channel access mode enabled 9 csma_pers_on 0 1: csma persistent (no back- off) enabled 8 auto_pckt_flt 0 1: automatic packet filtering mode enabled table 40. packet/protocol confi guration registers (continued) register name address bit field name reset r/w description
SPIRIT1 register table doc id 022758 rev 3 85/94 protocol[0] 0x52 7:4 nmax_retx[3:0] 0 r/w max. number of re-tx (from 0 to 15). 0: re-transmission is not performed 3nack_tx 1 1: field no_ack=1 on transmitted packet 2auto_ack 0 1: automatic acknowledgement after correct packet reception 1 pers_rx 0 1: persistent reception enabled 0 pers_tx 0 1: persistent transmission enabled timers[5] 0x53 47:4 0 rx_timeout_pres caler[7:0] 1r/w prescaler value of the rx timeout timer. when this timer expires the SPIRIT1 exits rx state. can be controlled using the quality indicator (sqi, lqi, pqi, cs). timers[4] 0x54 39:3 2 rx_timeout_coun ter[7:0] 0r/w counter value of the rx timeout timer. when this timer expires the SPIRIT1 exits rx state. can be controlled using the quality indicator (sqi, lqi, pqi, cs) timers[3] 0x55 31:2 4 ldc_prescaler[7:0 ] 1r/w prescaler value of the ldc wake-up timer. when this timer expires the SPIRIT1 exits sleep state. timers[2] 0x56 23:1 6 ldc_counter[7:0] 0 r/w counter value of the ldc wake-up timer. when this timer expires the SPIRIT1 exits sleep state. timers[1] 0x57 15:8 ldc_reload_pres caler[7:0] 1r/w prescaler value of the ldc reload timer. when this timer expires the SPIRIT1 exits sleep state. the reload timer value is used if the sync word is detected (by the receiver) or if the ldc_reload command is used. table 40. packet/protocol confi guration registers (continued) register name address bit field name reset r/w description
register table SPIRIT1 86/94 doc id 022758 rev 3 timers[0] 0x58 7:0 ldc_reload_coun ter[7:0] 0r/w counter part of the ldc reload value timer. when this timer expires the SPIRIT1 exits sleep state. the reload timer value is used if the sync word is detected (by the receiver) or if the ldc_reload command is used. csma_config[3] 0x64 7:0 bu_counter_seed _msbyte 0xff r/w the msb value of the counter of the seed of the random number generator used to apply the bbe algorithm during the csma algorithm csma_config[2] 0x65 7:0 bu_counter_seed _lsbyte 0r/w the lsb value of the counter seed of the random number generator used to apply the bbe algorithm during the csma algorithm csma_config[1] 0x66 7:2 bu_prescaler[5:0] 000001 r/w the prescaler value used to program the back-off unit bu 1:0 cca_period 00 used to program the t cca time (64 / 128 / 256 / 512 t bit ) csma_config[0] 0x67 7:4 cca_length[3:0] 0000 r/w used to program the t listen time 3 reserved 0 2:0 nbackoff_max 000 max. number of back-off cycles tx_ctrl_field[3] 0x68 7:0 tx_ctrl3 0 r/w control field value to be used in tx packet as byte n.3 tx_ctrl_field[2] 0x69 7:0 tx_ctrl2 0 r/w control field value to be used in tx packet as byte n.2 tx_ctrl_field[1] 0x6a 7:0 tx_ctrl1 0 r/w control field value to be used in tx packet as byte n.1 tx_ctrl_field[0] 0x6b 7:0 tx_ctrl0 0 r/w control field value to be used in tx packet as byte n.0 table 40. packet/protocol confi guration registers (continued) register name address bit field name reset r/w description
SPIRIT1 register table doc id 022758 rev 3 87/94 table 41. frequently used registers register name address bit field name reset r/w description chnum 0x6c 7:0 ch_num 0 r/w channel number. this value is multiplied by the channel spacing and added to the synthesizer base frequency to generate the actual rf carrier frequency. see equation 1 vco_config 0xa1 7:6 reserved 00 r/w 5:0 vco_gen_curr 010001 set the vco current rco_vco_calibr_in [2] 0x6d 7:4 rwt_in[3:0] 0111 r/w rwt word value for the rco 3:0 rfb_in[4:1] 0000 rfb word value for the rco rco_vco_calibr_in [1] 0x6e 7 rfb_in[0] 0 r/w 6:0 vco_calibr_tx[6: 0] 10010 00 word value for the vco to be used in tx mode rco_vco_calibr_in [0] 0x6f 7 reserved 0 r/w 6:0 vco_calibr_rx[6: 0] 10010 00 word value for the vco to be used in rx mode aes_key_in[15] 0x70 7:0 aes_key15 0 r/w aes engine key input (128 bits) aes_key_in[14] 0x71 7:0 aes_ key14 0 r/w aes engine key input (128 bits) ?7:0 ? ??? aes_key_in[1] 0x7e 7:0 aes_ key1 0 r/w aes engine key input (128 bits) aes_key_in[0] 0x7f 7:0 aes_ key0 0 r/w aes engine key input (128 bits) aes_data_in[15] 0x80 7:0 aes_in15 0 r/w aes engine data input (128 bits) aes_data_in[14] 0x81 7:0 aes_in14 0 r/w aes engine data input (128 bits) ?? ? ??? aes_data_in[1] 0x8e 7:0 aes_in1 0 r/w aes engine data input (128 bits) aes_data_in[0] 0x8f 7:0 aes_in0 0 r/w aes engine data input (128 bits) irq_mask[3] 0x90 7:0 int_maskt[31:24] 0 r/w the irq mask register to route the irq information to a gpio. see ta bl e 1 2 . irq_mask[2] 0x91 7:0 int_mask [23:16] 0 r/w the irq mask register to route the irq information to a gpio. see ta bl e 1 2 . irq_mask[1] 0x92 7:0 int_mask[15:8] 0 r/w the irq mask register to route the irq information to a gpio. see ta bl e 1 2 .
register table SPIRIT1 88/94 doc id 022758 rev 3 irq_mask[0] 0x93 7:0 int_mask [7:0] 0 r/w the irq mask register to route the irq information to a gpio. see ta bl e 1 2 . pm_config 0xa4 7 reserved 0 r/w 6 en_ts_buffer 0 1: temperature sensor output is buffered 5:0 reserved 00110 0 mc_state[1] 0xc0 7:4 reserved 0101 r 3 ant_select 0 currently selected antenna 2 tx_fifo_full 0 1: tx fifo is full 1 rx_fifo_empty 0 1: rx fifo is empty 0 error_lock 0 1: rco calibrator error mc_state[0] 0xc1 7:1 state[6:0] 0 r current mc state. see ta bl e 1 7 . 0 xo_on 0 1: xo is operating tx_pckt_info 0xc2 7:6 reserved 0 r 5:4 tx_seq_num 0 current tx packet sequence number 3:0 n_retx 0 number of retransmissions done on the last tx packet rx_pckt_info 0xc3 7:3 reserved 0 r 2nack_rx 0 nack field of the received packet 1:0 rx_seq_num 0 sequence number of the received packet afc_corr 0xc4 7:0 afc_corr[7:0] 0 r afc word of the received packet link_qualif[2] 0xc5 7:0 pqi[7:0] 0 r pqi value of the received packet link_qualif[1] 0xc6 7cs 0 r carrier sense indication 6:0 sqi[6:0] 0 sqi value of the received packet link_qualif[0] 0xc7 7:4 lqi [3:0] 0 r lqi value of the received packet 3:0 agc_word 0 agc word of the received packet rssi_level 0xc8 7:0 rssi_level 0 r rssi level of the received packet table 41. frequently used registers (continued) register name address bit field name reset r/w description
SPIRIT1 register table doc id 022758 rev 3 89/94 rx_pckt_len[1] 0xc9 7:0 rx_pckt_len1 0 r length (number of bytes) of the received packet: rx_pckt_len=rx_pckt_l en1 256 + rx_pckt_len0 rx_pckt_len[0] 0xca 7:0 rx_pckt_len0 0 r crc_field[2] 0xcb 7:0 crc2 0 r crc field of the received packet, byte 2 crc_field[1] 0xcc 7:0 crc1 0 r crc field of the received packet, byte 1 crc_field[0] 0xcd 7:0 crc0 0 r crc field of the received packet, byte 0 rx_ctrl_field[3] 0xce 7:0 rx_ctrl0 0 r control field(s) of the received packet, byte 0 rx_ctrl_field[2] 0xcf 7:0 rx_ctrl1 0 r control field(s) of the received packet, byte 1 rx_ctrl_field[1] 0xd0 7:0 rx_ctrl2 0 r control field(s) of the received packet, byte 2 rx_ctrl_field[0] 0xd1 7:0 rx_ctrl3 0 r control field(s) of the received packet, byte 3 rx_addr_field[1] 0xd2 7:0 addr1 0 r source address field of the rx packet. rx_addr_field[0] 0xd3 7:0 addr0 0 r destination address field of the rx packet. aes_ data_out[15] 0xd4 7:0 aes_out15 0 r aes engine data output (128 bits) aes_ data_out[14] 0xd5 7:0 aes_out14 0 r aes engine data output (128 bits) ?? ? ??? aes_ data_out[1] 0xe2 7:0 aes_out1 0 r aes engine data output (128 bits) aes_ data_out[0] 0xe3 7:0 aes_out0 0 r aes engine data output (128 bits) rco_vco_calibr_o ut[1] 0xe4 7:4 rwt_out[3:0] 0 r rwt word from internal rco calibrator 3:0 rfb_out[4:1] 0 rfb word from internal rco calibrator rco_vco_calibr_o ut[0] 0xe5 7rfb_out[0] 0 r 6:0 vco_calibr_data 0 output word from internal vco calibrator linear_fifo_status [1] 0xe6 7 reserved 0 r 6:0 elem_txfifo 0 number of elements in the linear tx fifo (from 0 to 96 bytes) table 41. frequently used registers (continued) register name address bit field name reset r/w description
register table SPIRIT1 90/94 doc id 022758 rev 3 linear_fifo_status [0] 0xe7 7 reserved 0 r 6:0 elem_rxfifo 0 number of elements in the linear rx fifo (from 0 to 96 bytes) irq_status[3] 0xfa 7:0 int_event[31:24] 0 rr the irq status register. see ta bl e 1 2 . irq_status[2] 0xfb 7:0 int_event[23:16] 0 rr the irq status register. see ta bl e 1 2 . irq_status[1] 0xfc 7:0 int_event[15:8] 0 rr the irq status register. see ta bl e 1 2 . irq_status[0] 0xfd 7:0 int_event[7:0] 0 rr the irq status register. see ta bl e 1 2 . table 41. frequently used registers (continued) register name address bit field name reset r/w description table 42. general information register address bit field name reset r/w description device_info[1:0] 0xf0 7:0 partnum[7:0] 0x01 r device part number 0xf1 7:0 version[7:0] 0x30 r device version number
SPIRIT1 package mechanical data doc id 022758 rev 3 91/94 12 package mechanical data in order to meet environmental requirements, st offers these devices in different grades of ecopack ? packages, depending on their level of environmental compliance. ecopack specifications, grade definitions, and product status are available at: www.st.com . ecopack is an st trademark. table 43. qfn20 (4 x 4 mm.) mechanical data dim. mm. min. typ. max. a 0.80 0.90 1.00 a1 0.02 0.05 a2 0.65 1.00 a3 0.25 b 0.18 0.23 0.30 d 3.85 4.00 4.15 d2 2.55 2.60 2.65 e 3.85 4.00 4.15 e2 2.55 2.60 2.65 e 0.45 0.50 0.55 l 0.35 0.55 0.75 ddd 0.08
package mechanical data SPIRIT1 92/94 doc id 022758 rev 3 figure 14. qfn20 (4 x 4 mm.) drawing dimension 7169619_g
SPIRIT1 revision history doc id 022758 rev 3 93/94 13 revision history table 44. document revision history date revision changes 06-feb-2012 1 initial release. 26-apr-2012 2 update rf performance figures in the whole document. changed pinout for pin 11. minor text changes. 05-oct-2012 3 updated tables 3 , 8 , 9 , 10 , 17 , 10 , 20 , 30 , 36 , 37 , 40 and 41 . updated section 9.4: intermediate frequency setting and section 12: package mechanical data . minor text changes to improve readability. document status changed from preliminary to production data.
SPIRIT1 94/94 doc id 022758 rev 3 please read carefully: information in this document is provided solely in connection with st products. stmicroelectronics nv and its subsidiaries (?st ?) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described he rein at any time, without notice. all st products are sold pursuant to st?s terms and conditions of sale. purchasers are solely responsible for the choice, selection and use of the st products and services described herein, and st as sumes no liability whatsoever relating to the choice, selection or use of the st products and services described herein. no license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. i f any part of this document refers to any third party products or services it shall not be deemed a license grant by st for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoev er of such third party products or services or any intellectual property contained therein. unless otherwise set forth in st?s terms and conditions of sale st disclaims any express or implied warranty with respect to the use and/or sale of st products including without limitation implied warranties of merchantability, fitness for a particular purpose (and their equivalents under the laws of any jurisdiction), or infringement of any patent, copyright or other intellectual property right. unless expressly approved in writing by two authorized st representatives, st products are not recommended, authorized or warranted for use in military, air craft, space, life saving, or life sustaining applications, nor in products or systems where failure or malfunction may result in personal injury, death, or severe property or environmental damage. st products which are not specified as "automotive grade" may only be used in automotive applications at user?s own risk. resale of st products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by st for the st product or service described herein and shall not create or extend in any manner whatsoev er, any liability of st. st and the st logo are trademarks or register ed trademarks of st in various countries. information in this document supersedes and replaces all information previously supplied. the st logo is a registered trademark of stmicroelectronics. all other names are the property of their respective owners. ? 2012 stmicroelectronics - all rights reserved stmicroelectronics group of companies australia - belgium - brazil - canada - china - czech republic - finland - france - germany - hong kong - india - israel - ital y - japan - malaysia - malta - morocco - philippines - singapore - spain - sweden - switzerland - united kingdom - united states of america www.st.com


▲Up To Search▲   

 
Price & Availability of SPIRIT1

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X